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); 複製代碼