常用的修饰符一般分为 表单修饰符(v-model修饰符) 和事件修饰符。
一、表单修饰符
1. .lazy
输入框改变,这个数据就会改变,lazy这个修饰符会在光标离开input框才会更新数据:
<input type="text" v-model.lazy="value">
2. .trim
输入框过滤首尾的空格:
<input type="text" v-model.trim="value">
3. .number
先输入数字就会限制输入只能是数字,先字符串就相当于没有加number,注意,不是输入框不能输入字符串,是这个数据是数字:
<input type="text" v-model.number="value">
二、事件修饰符
4. .stop
阻止事件冒泡,相当于调用了event.stopPropagation()方法:
<button @click.stop ="test">test</button>
5. .prevent
阻止默认行为,相当于调用了event.preventDefault()方法,比如表单的提交、a标签的跳转就是默认事件:
<a @click.prevent="test">test</a>
6. .self
只有元素本身触发时才触发方法,就是只有点击元素本身才会触发。比如一个div里面有个按钮,div和按钮都有事件,我们点击按钮,div绑定的方法也会触发,如果div的click加上self,只有点击到div的时候才会触发,变相的算是阻止冒泡:
<div @click.self="test"></div>
7. .once
事件只能用一次,无论点击几次,执行一次之后都不会再执行
<div @click.once="test"></div>
8. .capture
capture的作用添加事件侦听器时使用事件捕获模式。即是给元素添加一个监听器,当元素发生冒泡时,先触发带有该修饰符的元素。若有多个该修饰符,则由外而内触发。
9. .sync
对prop进行双向绑定
10. .keyCode
监听按键的指令,具体可以查看vue的键码对应表