Vue修飾符的使用詳解
事件修飾符的使用
<button @click.stop='func'>按鈕</button>
- stop 阻止冒泡(兼容) 等同于event.stopPropagation() 或 event.cancelBubble = true
- prevent 阻止默認(rèn)行為 等同于event.preventDefault()
- capture 設(shè)置事件在捕獲階段執(zhí)行
- once 事件只執(zhí)行一次,相當(dāng)于addEventListener的第三個(gè)參數(shù)的passive設(shè)置為true
- passive 設(shè)置過(guò)passive之后不會(huì)再阻止事件的默認(rèn)行為,即使有event.stopPropagation,相當(dāng)于設(shè)置addEventListener的第三個(gè)參數(shù)的passive為true
- self 當(dāng)target===this的時(shí)候執(zhí)行,即當(dāng)前元素本身觸發(fā)點(diǎn)擊事件時(shí)才執(zhí)行
按鍵修飾符
vue提供了一些按鍵修飾符,如space、arrawLeft、arrawright、enter、esc等。使用這些修飾符只有按下指定按鍵才會(huì)執(zhí)行對(duì)應(yīng)的事件,其它的key可以通過(guò)keycode自行判斷。
- .enter
- .tab
- .delete
- .esc
- .space
- .up
- .down
- .left
- .right
<input @keyup.enter='func'/>
只有按下enter鍵的時(shí)候函數(shù)才會(huì)執(zhí)行
有一些按鍵在ie9中有不同的key值,按鍵修飾符對(duì)此做了兼容
系統(tǒng)鍵修飾符
- .ctrl
- .alt
- .shift
- .meta 對(duì)應(yīng)window的win鍵合mac的commond鍵
//shit + c <input @keyup.shift.67='func'/> //click + ctrl <div @click.ctrl='func'>點(diǎn)擊</div>
系統(tǒng)修飾鍵可以與點(diǎn)擊事件keyCode一同使用
.exact修飾符用來(lái)精準(zhǔn)的控制系統(tǒng)按鍵的執(zhí)行方式
//摁住shift + 任意鍵進(jìn)行點(diǎn)擊都會(huì)執(zhí)行 <div @click.shift='func'>點(diǎn)擊</div> //有且僅有shift鍵被按下的時(shí)候才執(zhí)行 <div @click.shift.exact='func'></div> //沒(méi)有任何系統(tǒng)修飾符時(shí)候才執(zhí)行 <div @click.exact='func'></div>
鼠標(biāo)按鍵修飾符
- .left
- .right
- .middle
//鼠標(biāo)左鍵執(zhí)行 <div @click.left="childClick"></div> //鼠標(biāo)右鍵執(zhí)行,并阻止默認(rèn)行為(取消右鍵菜單) <div @click.right="childClick"></div> //摁下鼠標(biāo)滾輪執(zhí)行 <div @click.middle="childClick"></div>
表單修飾符
.lazy 用于優(yōu)化v-model,將數(shù)據(jù)更新延遲至失去焦點(diǎn),減少數(shù)據(jù)更新的頻率。
<input v-model.lazy='val'/>
.number 將輸入的文本類(lèi)型轉(zhuǎn)為數(shù)字,不合法的值會(huì)在失去焦后被清除(與type=number效果相同)
<input type='text' v-model.number='val'/>
.trim 去除文本輸入中多余的空格,相當(dāng)于字符串的trim方法
<input type='text' v-model.trim='val'/>
總結(jié)
- Vue的修飾符包含了事件修飾符、按鍵修飾符、系統(tǒng)鍵修飾符、exact修飾符、鼠標(biāo)按鍵修飾符、表單修飾符。
- 事件修飾符包含stop、once、capture、prevent等,按鍵修飾符包含enter、esc、delete、left等,系統(tǒng)鍵修飾符包含alt、ctrl、shift、meta(系統(tǒng)鍵,win或command),鼠標(biāo)按鍵修飾符包含left、right、middle,表單修飾符包含lazy、trim、number。
- exact用于更精準(zhǔn)的控制系統(tǒng)鍵。
- lazy在表單輸入元素失去焦點(diǎn)的時(shí)候才會(huì)更新vue的數(shù)據(jù)。
- 能使用修飾符的時(shí)候盡量使用修飾符,修飾符具有兼容性。
- 修飾符可以使用多個(gè),順序不同效果也不同。
到此這篇關(guān)于Vue修飾符的使用詳解的文章就介紹到這了,更多相關(guān)Vue修飾符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
集成vue到j(luò)query/bootstrap項(xiàng)目的方法
下面小編就為大家分享一篇集成vue到j(luò)query/bootstrap項(xiàng)目的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
vue3如何監(jiān)聽(tīng)頁(yè)面的滾動(dòng)
這篇文章主要給大家介紹了關(guān)于vue3如何監(jiān)聽(tīng)頁(yè)面的滾動(dòng)的相關(guān)資料,在vue中實(shí)現(xiàn)滾動(dòng)監(jiān)聽(tīng)和原生js無(wú)太大差異,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
vue使用element-ui的el-input監(jiān)聽(tīng)不了回車(chē)事件的解決方法
小編在使用element-ui時(shí),el-input組件監(jiān)聽(tīng)不了回車(chē)事件,怎么回事呢?下面小編給大家?guī)?lái)了vue使用element-ui的el-input監(jiān)聽(tīng)不了回車(chē)事件的解決方法,一起看看吧2018-01-01
Vue3子組件實(shí)現(xiàn)v-model用法的示例代碼
在Vue 3中,實(shí)現(xiàn)自定義的input組件并支持v-model綁定,涉及到對(duì)modelValue這個(gè)默認(rèn)prop的處理和對(duì)應(yīng)的update:modelValue事件的觸發(fā),本文給大家介紹了Vue3子組件實(shí)現(xiàn)v-model用法的示例,需要的朋友可以參考下2024-04-04
如何在Vue3中使用視頻庫(kù)Video.js實(shí)現(xiàn)視頻播放功能
在Vue3項(xiàng)目中集成Video.js庫(kù),可以創(chuàng)建強(qiáng)大的視頻播放功能,這篇文章主要介紹了如何在Vue3中使用視頻庫(kù)Video.js實(shí)現(xiàn)視頻播放功能,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
使用vuex存儲(chǔ)用戶(hù)信息到localStorage的實(shí)例
今天小編就為大家分享一篇使用vuex存儲(chǔ)用戶(hù)信息到localStorage的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
在vue中v-bind使用三目運(yùn)算符綁定class的實(shí)例
今天小編就為大家分享一篇在vue中v-bind使用三目運(yùn)算符綁定class的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue+elementUI 實(shí)現(xiàn)內(nèi)容區(qū)域高度自適應(yīng)的示例
這篇文章主要介紹了vue+elementUI 實(shí)現(xiàn)內(nèi)容區(qū)域高度自適應(yīng)的示例,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下2020-09-09

