2019-03-05 15:01:26 1396浏览
今天扣丁学堂HTML5培训老师给大家分享一篇关于Vue 事件处理操作,结合实例形式较为详细的分析了vue.js事件处理相关的事件监听、处理、修饰符等相关概念、用法及操作注意事项,下面我们一起来看一下吧。<div id="app1">
<button v-on:click="counter +=1">递增</button>
<p>按钮已被点击 {{ counter }} 次。</p>
</div>
var app1 = new Vue({
el: "#app1",
data: {
counter: 0
}
});
效果:
<div id="app2"> <button v-on:click="greet">问候</button> </div>
var app2 = new Vue({
el: "#app2",
data: {
name: 'Deniro'
},
methods: {
greet: function (event) {
//这里的 this 指向的是当前 Vue 实例
console.log('你好 ' + this.name + '!');
if (event) {
console.log(event.target.tagName);
}
}
}
});
效果:
也可以直接调用Vue实例定义的函数:
<div id="app3">
<button v-on:click="greet('你好')">问候</button>
</div>
var app3 = new Vue({
el: "#app3",
methods: {
greet: function (message) {
console.log(message);
}
}
});
<button v-on:click="warn('表单已被禁用',$event)">提交</button>
methods: {
...
warn: function (message,event) {
//访问原生对象
if(event){
event.preventDefault();
}
console.log(message);
}
}
<!--阻止单击事件继续传播--> <a v-on:click.stop="doThis"></a> <!--提交事件不再重载页面--> <form v-on:submit.prevent="onSubmit"></form> <!--串联修饰符--> <a v-on:click.stop.prevent="doThat"></a> <!--只有修饰符--> <form v-on:submit.prevent></form> <!--添加事件监听器时使用事件捕获模式--> <!--即元素自身触发的事件先在此处理,然后才交由内部元素--> <div v-on:click.capture="doThis">...</div> <!--在 event.target 为当前元素自身时触发处理函数--> <!--即事件不是从内部元素触发的--> <div v-on:click.self="doThat">...</div>
<!--点击事件只会触发一次--> <a v-on:click.once="doThis"></a>
<!--滚动事件的默认行为将会被立即触发(不会等待 onScroll 事件完成)--> <!--包含 event.preventDefault() 的情况--> <div v-on:scroll.passive="onScroll">...</div>
<!--keyCode 为 13 时调用 vm.submit()--> <input v-on:keyup.13="submit">
<!--使用按键别名--> <input v-on:keyup.enter="submit"> <!--使用缩写语法--> <input @keyup.enter="submit">
//自定义按键的修饰符别名 Vue.config.keyCodes.f1 = 112;
<input @keyup.page-down="onPageDown">
<!--Alt + C--> <input @keyup.alt.67="clear"> <!--Ctrl + Click--> <div @click.ctrl="doSomething">Do something</div>
<!--Ctrl 或 Alt 或 Shift 被一同按下时会触发--> <button @click.ctrl="onClick">A</button> <!--有且只有 Ctrl 被按下时才会触发--> <button @click.ctrl.exact="onCtrlClick">A</button> <!--没有任何系统修饰符被按下时才会触发--> <button @click.exact="onClick">A</button>
【关注微信公众号获取更多学习资料】