



v-on指令用于监听DOM事件,当触发时运行一些JavaScript代码。v-on指令的表达式可以是一般的JavaScript代码,也可以是一个方法的名字或者方法调用语句。
在使用v-on指令对事件进行绑定时,需要在v-on指令后面接上事件名称,例如click、mousedown、mouseup等事件。
【例4.4】v-on指令(源代码\ch04\4.4.html)。
<div id="app">
<p>
<!--监听click事件,使用JavaScript语句-->
<button v-on:click="number-=10">-10</button>
<span>{{number}}</span>
<button v-on:click="number+=10">+10</button>
</p>
<p>
<!--监听click事件,绑定方法-->
<button v-on:click="say()">采购商品</button>
</p>
</div>
<!--引入vue文件-->
<script src="https://unpkg.com/vue@next"></script>
<script>
//创建一个应用程序实例
const vm= Vue.createApp({
//该函数返回数据对象
data(){
return{
number:1000
}
},
methods:{
say:function(){
alert("今日采购的商品已经全部准备完毕!")
}
}
//在指定的DOM元素上装载应用程序实例的根组件
}).mount('#app');
</script>
在谷歌浏览器中运行程序,单击“+10”按钮或“-10”按钮,即可实现数字的递增和递减;单击“采购商品”按钮,触发click事件,调用say()函数,页面效果如图4-7所示。
在Vue应用中许多事件处理逻辑会很复杂,所以直接把JavaScript代码写在v-on指令中是不可行的,此时就可以使用v-on接收一个方法,把复杂的逻辑放到这个方法中。
图4-7 v-on指令
提示: 使用v-on指令接收的方法名称也可以传递参数,只需要在methods中定义方法时说明这个形参,即可在方法中获取到。