本篇文章介绍vue中的指令监听dom事件。



一、无参



<div id="J_app">
<button v-on:click="eatWhat">吃啥</button>
</div>
var vapp = new Vue({
el: '#J_app',
data: {
info: '我想吃苹果'
},
methods: {
eatWhat: function () {
alert(this.info)
}
}
})


二、有参



<div id="J_app">
<p>{{ info }}</p>
<button v-on:click="eatWhat('苹果')">吃啥</button>
</div>
var vapp = new Vue({
el: '#J_app',
data: {
info: '我想吃'
},
methods: {
eatWhat: function (fruit) {
alert(this.info + fruit)
}
}
})


三、事件修饰符

1、.stop



<a v-on:click.stop="doSomething">阻止单击事件冒泡</a>


2、.prevent



<form v-on:submit.prevent="onSubmit">提交事件不再重载页面</form>
<form v-on:submit.prevent>只有修饰符</form>


3、.capture



<a v-on:click.capture="doSomething">添加事件侦听器时使用事件捕获模式</a>


4、.self



<div v-on:click.self="doSomething">事件在元素本身触发回调,而不是子元素。</div>


5、.once



<div v-on:click.once="doSomething">点击事件触发一次,不像其它只能对原生的DOM事件起作用的修饰符,.once 修饰符还能被用到自定义的组件事件上。</div>



<a v-on:click.stop.prevent="doSomething">修饰符可以串联</a>


修饰符串联顺序不同,效果有可能不同。@click.prevent.self会阻止所有的点击,而@click.self.prevent只会阻止元素上的点击。


博客签名:敬畏生命,珍惜时间,热爱生活。