Vue.js学习笔记之修饰符详解(2)

<div> <h2>v-on.prevent</h2> <form @submit.prevent="form_submit"> <button type="submit">Submit</button> </form> <hr /> </div>

当点击提交按钮时,会触发绑定的事件,并且阻止表单提交并刷新当前页面的默认行为。

.self

该指令只当事件是从事件绑定的元素本身触发时才触发回调

修改上面 .stop 的例子,在父元素 div 上添加样式

<div> <h2>v-on.self</h2> <div @click.self="div_click"> <button type="button" @click="stop_click">Button</button> </div> <hr /> </div>

打开页面

Vue.js学习笔记之修饰符详解

因为父元素比它的子元素要长,所以右侧会有一部分红色的父元素显示出来。分别点击按钮和红色区域,查看控制台打印结果

Vue.js学习笔记之修饰符详解

因为 div_click 事件被修饰符绑定,只有在直接点击到父元素 div ,即红色区域内,事件才会被触发。

即使点击了它的子元素触发了子元素的事件,按照事件冒泡原理,父元素的事件应当被触发,但是因为事件的触发源并不是事件绑定的元素本身,所以父元素事件不会被触发。

.one

该修饰符表示绑定的事件只会被触发一次

在 vm 对象中添加一个测试方法

var vm = new Vue({ el: "#app", methods: { once_click: function () { console.log("once click..."); } } });

页面添加一个按钮,绑定事件

<div> <h2>v-on.once</h2> <button type="button" @click.once="once_click">Button</button> <hr /> </div>

打开页面,多次点击按钮。只有在第一次点击时,事件才会触发。

键值修饰符

该修饰符可以用来监听键盘事件

在 vm 对象中添加一个测试方法

var vm = new Vue({ el: "#app", methods: { enter_click: function () { console.log("enter click..."); } } });

页面增加一个 input 元素,监听键盘事件

<div> <h2>键值修饰符</h2> <input type="text" @keyup.="enter_click" /> <hr /> </div>

打开页面,在文本框输入内容,并按回车,查看控制台打印结果

Vue.js学习笔记之修饰符详解

通过 keyup.keyCode 的方式来监听键盘特定按键的事件。也可以通过按键名称来监听

<input type="text" @keyup.enter="enter_click"/>

也可以自定义按键名称

// 自定义按键名称 Vue.config.keyCodes.ent = 13; // 页面引用 <input type="text" @keyup.ent="enter_click"/>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjgwj.html