## 一:事件修飾符
* `.stop` 阻止事件冒泡
* `.prevent` 阻止默認行為
* `.capture` 事件捕獲
* `.self` 只當在 event.target 是當前元素自身時觸發處理函數
* `.once`
* `.passive`
```
//阻止單擊事件繼續傳播
<a v-on:click.stop="doThis"></a>
//提交事件不再重載頁面
<form v-on:submit.prevent="onSubmit"></form>
//修飾符可以串聯
<a v-on:click.stop.prevent="doThat"></a>
//只有修飾符
<form v-on:submit.prevent></form>
// 添加事件監聽器時使用事件捕獲模式
// 即內部元素觸發的事件先在此處理,然后才交由內部元素進行處理
<div v-on:click.capture="doThis">...</div>
// 只當在 event.target 是當前元素自身時觸發處理函數
// 即事件不是從內部元素觸發的
<div v-on:click.self="doThat">...</div>
// 滾動事件的默認行為 (即滾動行為) 將會立即觸發
// 而不會等待 `onScroll` 完成
// 這其中包含 `event.preventDefault()` 的情況
<div v-on:scroll.passive="onScroll">...</div>
```
>[danger] 不要把`.passive`和`.prevent`一起使用,因為`.prevent`將會被忽略,同時瀏覽器可能會向你展示一個警告。請記住,`.passive`會告訴瀏覽器你*不*想阻止事件的默認行為。
## 二:按鍵修飾符
* `.enter` 回車鍵
* `.tab` 換行鍵
* `.delete`(捕獲“刪除”和“退格”鍵)
* `.esc` 退出鍵
* `.space` 空格鍵
* `.up` 上
* `.down` 下
* `.left` 左
* `.right` 右
```
// 只有在 `key` 是 `Enter` 時調用 `vm.submit()`
<input v-on:keyup.enter="submit">
```
## 三:表單修飾符
1.`.number`
如果想自動將用戶的輸入值轉為數值類型,可以給`v-model`添加`number`修飾符:
~~~
<input v-model.number="age" type="number">
~~~
這通常很有用,因為即使在`type="number"`時,HTML 輸入元素的值也總會返回字符串。如果這個值無法被`parseFloat()`解析,則會返回原始的值。
2.`.trim`
如果要自動過濾用戶輸入的首尾空白字符,可以給`v-model`添加`trim`修飾符:
~~~
<input v-model.trim="msg">
~~~