vue中的事件修飾符介紹和示例
最近使用到 vue 的事件修飾符,快速的過(guò)一下 vue 中的事件修飾符
1. 官方文檔
vue2中有關(guān) v-on 的介紹
vue3中有關(guān) v-on 的介紹
初步看下來(lái),vue2 和 Vue3 中修飾符差距并不大。
2. 說(shuō)明+實(shí)例
2.1 .stop
.stop
修飾符的作用是阻止冒泡
<template> <div @click="handleClick(2)"> <button @click.stop="handleClick(1)">點(diǎn)擊</button> </div> </template> <script> export default { data() { return {}; }, methods: { handleClick(key) { console.log('你好', key); }, }, }; </script>
js 中事件默認(rèn)是由內(nèi)向外層冒泡傳遞的。正常情況下點(diǎn)擊按鈕會(huì)依次打印 1
,2
。當(dāng)我們并不想觸發(fā)外層的事件時(shí),我們可以用 .stop
阻止冒泡。
對(duì)應(yīng)源碼使用的是
$event.stopPropagation()
實(shí)現(xiàn)此功能
2.2 .prevent
.prevent
修飾符的作用是阻止默認(rèn)事件
<template> <div> <a href="#" rel="external nofollow" @click.prevent="handleClick(1)">點(diǎn)我</a> </div> </template> <script> export default { data() { return {}; }, methods: { handleClick(key) { console.log('你好', key); }, }, }; </script>
html 某些元素自帶一些默認(rèn)的事件,例如常見(jiàn)的:from 表單的提交;a 標(biāo)簽的跳轉(zhuǎn);如果想禁用這些時(shí)間,就可以使用 .prevent
修飾符。
對(duì)應(yīng)源碼使用的是
event.preventDefault()
實(shí)現(xiàn)此功能
2.3 .capture
事件默認(rèn)是由里往外冒泡,.capture
修飾符的作用是,由外部向內(nèi)進(jìn)行捕獲
<template> <div @click.capture="handleClick(2)"> <button @click="handleClick(1)">點(diǎn)擊</button> </div> </template> <script> export default { data() { return {}; }, methods: { handleClick(key) { console.log('你好', key); }, }, }; </script>
此處會(huì)先打印 2
,再打印 1
。
對(duì)應(yīng) js 原生中修改事件是,冒泡還是捕獲,dom.addEventListener(eventName,fn,capture)
。第三個(gè)參數(shù)默認(rèn)是 false,及冒泡。如果為 true,及捕獲。capture
英譯 :捕獲。
2.4 {keyCode | keyAlias}
當(dāng)需要對(duì)鍵盤(pán)按鈕做處理的時(shí)候,比如 keydown
, keyup
。如果想針對(duì)特定的某些按鈕進(jìn)行監(jiān)聽(tīng),可以添加修飾符,例如:
.enter .tab .delete (捕獲“刪除”和“退格”鍵) .esc .space .up .down .left .right
常見(jiàn)的按鍵碼 官方文檔對(duì)按鍵碼的介紹
2.5 .native
.native
修飾符是加在自定義組件的事件上,保證事件能執(zhí)行.
// 執(zhí)行不了 <My-component @click="shout(3)"></My-component> // 可以執(zhí)行 <My-component @click.native="shout(3)"></My-component>
2.6 .once
.once
修飾符的作用是,事件只執(zhí)行一次
<button @click.once="handleClick($event)"> 按鈕 </button>
2.7 .left .right .middle
.left .middle .right
這三個(gè)修飾符分別是鼠標(biāo)的左中右按鍵觸發(fā)的事件
2.8 .passive
當(dāng)我們?cè)诒O(jiān)聽(tīng)元素滾動(dòng)事件的時(shí)候,會(huì)一直觸發(fā) onscroll 事件,在 pc 端是沒(méi)啥問(wèn)題的,但是在移動(dòng)端,會(huì)讓我們的網(wǎng)頁(yè)變卡,因此我們使用這個(gè)修飾符的時(shí)候,相當(dāng)于給對(duì)移動(dòng)端的滾動(dòng)做一些優(yōu)化。
<div @scroll.passive="onScroll">...</div>
End
事件修飾符底層還是基于 js 實(shí)現(xiàn)的。當(dāng)然 vue 也還是基于 js 的封裝。事件修飾符不難,暫時(shí)記住這么幾種即可。就我目前接觸到的情況來(lái)說(shuō),元素的原生事件在某些關(guān)鍵時(shí)刻有奇效,但是也會(huì)發(fā)生很奇特的 bug。
到此這篇關(guān)于vue中的事件修飾符介紹和示例的文章就介紹到這了,更多相關(guān)vue事件修飾符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
手把手教學(xué)vue的路由權(quán)限問(wèn)題
這篇文章主要介紹了手把手教學(xué)vue的路由權(quán)限問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Vue實(shí)現(xiàn)計(jì)算器計(jì)算效果
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)計(jì)算器計(jì)算效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08一鍵將Word文檔轉(zhuǎn)成Vue組件mammoth的應(yīng)用詳解
這篇文章主要為大家介紹了一鍵將Word文檔轉(zhuǎn)成Vue組件mammoth的應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02組件中多個(gè)el-upload存在導(dǎo)致上傳圖片失效的問(wèn)題及解決
這篇文章主要介紹了組件中多個(gè)el-upload存在導(dǎo)致上傳圖片失效的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03vue3中g(shù)etCurrentInstance不推薦使用及在<script?setup>中獲取全局內(nèi)容的三種方式
這篇文章主要給大家介紹了關(guān)于vue3中g(shù)etCurrentInstance不推薦使用及在<script?setup>中獲取全局內(nèi)容的三種方式,文中通過(guò)介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-02-02ubuntu中利用nginx部署vue項(xiàng)目的完整步驟
Nginx是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,在BSD-like 協(xié)議下發(fā)行,下面這篇文章主要給大家介紹了關(guān)于ubuntu中利用nginx部署vue項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2022-02-02詳解本地Vue項(xiàng)目請(qǐng)求本地Node.js服務(wù)器的配置方法
本文只針對(duì)自己需要本地模擬接口于是搭建一個(gè)本地node服務(wù)器供自己測(cè)試使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03vue大型項(xiàng)目之分模塊運(yùn)行/打包的實(shí)現(xiàn)
這篇文章主要介紹了vue大型項(xiàng)目之分模塊運(yùn)行/打包的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09vue中的循環(huán)遍歷對(duì)象、數(shù)組和字符串
這篇文章主要介紹了vue中的循環(huán)遍歷對(duì)象、數(shù)組和字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08