vue學習筆記7-事件修飾符
vue中事件修飾符有6個 :.stop .prevent .capture .self .once .passive
在事件處理程式中呼叫 event.preventDefault() 或 event.stopPropagation() 是非常常見的需求。
儘管我們可以在方法中輕鬆實現這點,但更好的方式是:方法只有純粹的資料邏輯,而不是去處理 DOM 事件細節。
為了解決這個問題,Vue.js 為 v-on 提供了事件修飾符。
修飾符是由點開頭的指令字尾來表示的。
.stop
阻止冒泡事件
.prevent
阻止預設事件
.capture
事件捕獲處理
.self
只執行自己這個事件
.once 2.1.4 新增
只執行一次
不像其它只能對原生的 DOM 事件起作用的修飾符,.once 修飾符還能被用到自定義的元件事件上。如果你還沒有閱讀關於元件的文件,現在大可不必擔心。
.passive 2.3.0 新增
應用於移動端的滾動
<!-- 滾動事件的預設行為 (即滾動行為) 將會立即觸發 -->
<!-- 而不會等待 `onScroll` 完成 -->
<!-- 這其中包含 `event.preventDefault()` 的情況 -->
<div v-on:scroll.passive="onScroll">...</div>
這個 .passive 修飾符尤其能夠提升移動端的效能。
不要把 .passive 和 .prevent 一起使用,因為 .prevent 將會被忽略,同時瀏覽器可能會向你展示一個警告。請記住,.passive 會告訴瀏覽器你不想阻止事件的預設行為。
事件修飾符的幾種寫法
1事件後面寫一個修飾符
<!-- 阻止單擊事件繼續傳播 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再過載頁面 -->
<form v-on:submit.prevent="onSubmit"></form>
2事件後面串聯幾個修飾符
<!-- 修飾符可以串聯 -->
<a v-on:click.stop.prevent="doThat"></a>
使用修飾符時,順序很重要;相應的程式碼會以同樣的順序產生。因此,用 v-on:click.prevent.self 會阻止所有的點選,而 v-on:click.self.prevent 只會阻止對元素自身的點選。
3只有修飾符
<!-- 只有修飾符 -->
<form v-on:submit.prevent></form>
案例
在這裡插入程式碼片
相關文章
- vue 事件修飾符Vue事件
- vue 基礎入門筆記 02:事件修飾符Vue筆記事件
- 我的 Vue.js 學習日記 (七) – 事件與修飾符Vue.js事件
- Vue事件修飾符詳解Vue事件
- Vue 事件處理 傳參 以及事件的修飾符 的學習Vue事件
- 【測試平臺開發】Vue的事件修飾符、按鍵修飾符、計算屬性學習教程Vue事件
- Solidity語言學習筆記————20、函式修飾符Solid筆記函式
- Vue - 按鍵修飾符 && 系統修飾符Vue
- vue sync 修飾符Vue
- java常用修飾符(隨堂筆記)Java筆記
- v-on 及其事件修飾符事件
- C++學習——訪問修飾符C++
- JAVA java學習(24)——————java修飾符Java
- vue箭頭函式、js-for迴圈、事件修飾符、摁鍵事件和修飾符、表單控制、完整購物車版本Vue函式JS事件
- vue 基礎入門筆記 08:鍵盤修飾符、自定義指令Vue筆記
- 第四講、Vue3.x中的事件方法詳解、事件監聽、方法傳值、事件物件、多事件處理程式、事件修飾符、按鍵修飾符Vue事件物件
- 009.Vue3入門,事件修飾符的使用方法Vue事件
- Vue的.sync修飾符的使用Vue
- Vue學習筆記之事件處理Vue筆記事件
- Solidity語言學習筆記————19、函式可見性定義符、修飾符、保留字和語法Solid筆記函式
- Vue .sync修飾符與$emit(update:xxx)VueMIT
- vue學習筆記3-事件處理Vue筆記事件
- Java 修飾符Java 修飾符
- java修飾符Java
- Java入門筆記(六)——訪問許可權修飾符Java筆記訪問許可權
- 裝飾器學習筆記筆記
- 【Vue.js 牛刀小試】03:第三章 - 事件修飾符的使用Vue.js事件
- Vue 框架-03-鍵盤事件、健值修飾符、雙向資料繫結Vue框架事件
- Java 常用修飾符Java
- 繼承&修飾符繼承
- 訪問修飾符
- Python學習筆記 - 裝飾器Python筆記
- Vue 學習筆記Vue筆記
- vue學習筆記Vue筆記
- vue中v-model和.sync修飾符區別Vue
- Java的static修飾符Java
- 許可權修飾符
- java中的修飾符Java