VUE学习之v-on指令基础自用

v-on基础和简单实例

v-on的作用是用来事件监听的,是用来绑定一些事件的。绑定的一些事件就在自己的方法里面定义,定义完之后调用函数就行了。
有三种常用事件和两种调用方法:
单击,鼠标移入,双击
调用v-on: v-on:click:“method” 和@click:“method” 一般使用@

Vue首先要导入官方js

 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

v-on方法为事件绑定元素

<div id="v_on">
	<input type="button" value="事件绑定"  v-on:click="方法"><!-- 单击事件 -->
	<input type="button" value="事件绑定"  v-on:click="方法"><!-- 鼠标移入事件 -->
	<input type="button" value="事件绑定"  v-on:click="方法"><!-- 双击事件 -->
	<input type="button" value="事件绑定"  @click="方法"><!-- 单击事件 -->
</div>

实例:

<!DOCTYPE html>
<html>
<head>
		<meta charset="utf-8" >
		<title>v-on指令</title>
	</head>
<body>
<div id="test">
	<input type="button" value="v-on指令" v-on:click="doIt" /><!--点击-->
	<input type="button" value="v-on简写"  @click="doIt" /><!--v-on 简写-->
	<input type="button" value="双击事件"  @dblclick="doIt" /><!-- 双击事件 -->
</div>


<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	//创建Vue实例
		var ap=new Vue({
			el:"#test",
			methods:{
				doIt:function(){
					alert("弹出一个测试内容");
				}
			},
		})
</script>
</body>
</html>

使用v-on指令更改页面元素

使用this获取当前对象
this.变量来获取当前变量
例:

<!DOCTYPE html>
<html>
<head>
		<meta charset="utf-8" >
		<title>v-on指令</title>
	</head>
<body>
<div id="test">
	<h2 @click="changFood">{{food}}</h2><!--显示文字,并添加单击事件-->
</div>


<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	//创建Vue实例
		var ap=new Vue({
			el:"#test",
			data:{
				food:"西蓝花炒蛋"
			},
			methods:{
				changFood:function(){
					console.log(this.food);
					this.food+="好好吃"//this调用对象
				}
			},
		})
</script>
</body>
</html>

自定义传参 和 事件修饰符

可以自定义函数参数,在调用时进行传参
事件修饰符可以在 @keyup.键盘符号 将命令改为自定义提交
一般的事件修饰符为 @keyup.enter 即回车确定。

<div id="app">
	<input type="button" value="点击" @click="doIt(666)" /><!--自定义传参-->
	<input type="text" @keyup.enter="sayHi" />
</div>


<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	//创建Vue实例
	var app=new Vue({
		el:"#app",
		methods:{
			doIt:function(p1,p2){
				console.log("555");
				console.log(p1);
				console.log(p2);
			}
			sayHi:function(){
				alert("你吃饭了没");
			}
		}
	
	})
</script>

下面是个简单的计数器实例:

<!DOCTYPE html>
<html>
<head>
		<meta charset="utf-8" >
		<title>计数器</title>
	</head>
<body>
<div id="test">
	<div class="input_num">
		<button @click="sub">
			-
		</button>
		<span>{{num}}</span>
		<button @click="add">
			+
		</button>
	</div>
	
</div>


<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
	//创建Vue实例
	var app=new Vue({
		el:"#test",
		data:{
			num:1
		},
		methods:{
			add:function(){
				if(this.num<10){
					this.num+=1;
				}
				else{
					alert("最大别点了!");
				}
				
			},
			sub:function(){
				if(this.num>0){
					this.num-=1;
				}
				else{
					alert("最小了!别点了!");
				}
				
			}
		},
	})
</script>
</body>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值