Vue提供了一些修饰符,这些修饰符在使用起来很是方便,好比阻止默认事件、冒泡等。vue
.lazy:浏览器
v-modeil不用多说,输入框改变,这个数据就会改变,lazy这个修饰符会在光标离开input框才会更新数据:bash
<input type="text" v-model.lazy="value">
复制代码
.trim:性能
输入框过滤首尾的空格:ui
<input type="text" v-model.trim="value">
复制代码
.number:this
先输入数字就会限制输入只能是数字,先字符串就至关于没有加number,注意,不是输入框不能输入字符串,是这个数据是数字:spa
<input type="text" v-model.number="value">
复制代码
.stop:双向绑定
阻止事件冒泡,至关于调用了event.stopPropagation()方法。这个应该不须要解释:code
<button @click.stop="test">test</button>
复制代码
.prevent:component
阻止默认行为,至关于调用了event.preventDefault()方法,好比表单的提交、a标签的跳转就是默认事件:
<a @click.prevent="test">test</a>
复制代码
.self:
只有元素自己触发时才触发方法,就是只有点击元素自己才会触发。好比一个div里面有个按钮,div和按钮都有事件,咱们点击按钮,div绑定的方法也会触发,若是div的click加上self,只有点击到div的时候才会触发,变相的算是阻止冒泡:
<div @click.self="test"></div>
复制代码
.once:
只能用一次,不管点击几回,执行一次以后都不会再执行:
<div @click.once="test"></div>
复制代码
.capture:
事件的完整机制是捕获-目标-冒泡,事件触发是目标往外冒泡,好比:
<div @click="test(1)"> <button @click="test(2)">test</button></div>
顺序是2 1,capture的做用就是让这个顺序相反:
<div @click.capture="test(1)"> <button @click="test(2)">test</button></div>
复制代码
先1 后2。
.passive:
其实我不怎么理解,官网解释说能够提高移动端的性能,查了查,大概解释就是每次滚动都会有一个默认事件触发,加了这个就是告诉浏览器,不须要查询,不须要触发这个默认事件preventDefault:
<!-- 滚动事件的默认行为 (即滚动行为) 将会当即触发 -->
<!-- 而不会等待 `onScroll` 完成 -->
<!-- 这其中包含 `event.preventDefault()` 的状况 -->
<div v-on:scroll.passive="onScroll">...</div>
复制代码
.native:
组件绑定当前组件的事件是不会触发的,须要用native才能触发:
<My-component @click="shout(3)"></My-component>
复制代码
鼠标.left、.reight、.middle:
就是鼠标点击的时候就触发:
<button @click.right="test">test</button>
复制代码
.keyCode:
监听按键的指令,具体能够查看vue的键码对应表:
<input type="text" @keyup.enter="test(1)">
<button @click.enter="test(1)">test</button>
复制代码
注意,只有你点击过一次或者聚焦到这个输入框才能使用键盘触发。
.exact:
系统修饰键,只有按着这个键而后用鼠标点击才会触发,官网解释:
<!-- 即便 Alt 或 Shift 被一同按下时也会触发 -->
<button @click.ctrl="onClick">A</button>
<!-- 有且只有 Ctrl 被按下的时候才触发 -->
<button @click.ctrl.exact="onCtrlClick">A</button>
<!-- 没有任何系统修饰符被按下的时候才触发 -->
<button @click.exact="onClick">A</button>
复制代码
可是我试了一下没有用。
.sync
对prop进行双向绑定,我的暂时用不习惯:
//父组件
<fa-comp :fatest.sync="test"></fa-comp>
//子组件
this.$emit('update:fatest,sontest); 复制代码