Vue修饰符
- .lazy:
v-modeil不用多说,输入框改变,这个数据就会改变,lazy这个修饰符会在光标离开input框才会更新数据:
1 | <input type="text" v-model.lazy="value"> |
- .trim:
输入框过滤首尾的空格:
1 | <input type="text" v-model.trim="value"> |
- .number:
先输入数字就会限制输入只能是数字,先字符串就相当于没有加number,注意,不是输入框不能输入字符串,是这个数据是数字:
1 | <input type="text" v-model.number="value"> |
- .stop:
阻止事件冒泡,相当于调用了event.stopPropagation()方法。这个应该不需要解释:
1 | <button @click.stop="test">test</button> |
- .passive:
其实我不怎么理解,官网解释说可以提升移动端的性能,查了查,大概解释就是每次滚动都会有一个默认事件触发,加了这个就是告诉浏览器,不需要查询,不需要触发这个默认事件preventDefault:
1 | <!-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 --> |
- .prevent:
阻止默认行为,相当于调用了event.preventDefault()方法,比如表单的提交、a标签的跳转就是默认事件:
1 | <a @click.prevent="test">test</a> |
- .slef:
只有元素本身触发时才触发方法,就是只有点击元素本身才会触发。比如一个div里面有个按钮,div和按钮都有事件,我们点击按钮,div绑定的方法也会触发,如果div的click加上self,只有点击到div的时候才会触发,变相的算是阻止冒泡:
1 | <div @click.self="test"></div> |
- .once:
只能用一次,无论点击几次,执行一次之后都不会再执行:
1 | <div @click.once="test"></div> |
- .capture:
事件的完整机制是捕获-目标-冒泡,事件触发是目标往外冒泡,比如:
1 | <div @click="test(1)"> <button @click="test(2)">test</button></div> |
- .native: 组件绑定当前组件的事件是不会触发的,需要用native才能触发:
1 | <My-component @click="shout(3)"></My-component> |
- .keyCode:
监听按键的指令,具体可以查看vue的键码对应表:
1 | <input type="text" @keyup.enter="test(1)"> |
- .exact:
系统修饰键,只有按着这个键然后用鼠标点击才会触发,官网解释:
1 | <!-- 即使 Alt 或 Shift 被一同按下时也会触发 --> |
- .sync:
对prop进行双向绑定,个人暂时用不习惯:
1 | //父组件 |