本文小編為大家詳細(xì)介紹“vue.js中的事件處理器怎么用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“vue.js中的事件處理器怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元斗門做網(wǎng)站,已為上家服務(wù),為斗門各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
監(jiān)聽事件
可以用v-on指令監(jiān)聽DOM事件來觸發(fā)一些javascript代碼。
demo:
點(diǎn)擊,增加1{{counter}}
data:{ counter:0 }
方法事件處理器
許多事件處理器的邏輯都很復(fù)雜,所以直接把javaScript代碼寫在v-on指令中是不可行的。因此v-on可以接收一個定義的方法來調(diào)用
點(diǎn)擊,增加1{{counter}}
data:{ counter:0 }, method:{ counter:function(){ this.counter++; } }
有時也需要在內(nèi)聯(lián)語句處理器中訪問原生DOM事件,可以用特殊變量$event把它傳入方法:
$event 原生事件對象
事件修飾符
在事件處理程序中調(diào)用event.preventDefault()或event.stopPropagagation()是非常常見的需求。盡管我們可以在methods中輕松實(shí)現(xiàn)這點(diǎn),但更好的
方式是:methods只是純粹的數(shù)據(jù)邏輯,而不是去處理DOM事件的細(xì)節(jié)。
為了解決這個問題,Vue.js為v-on提供了事件修飾符,通過由(.)表示的指令后綴來調(diào)用修飾符。
.stop
.prevent
.capture
.self
.once
新增
不像其他只能對原生的DOM事件起作用的修飾符,.once修飾符還能被用到自定義的組件事件上
按鍵修飾符
在監(jiān)聽鍵盤事件時,我們經(jīng)常需要監(jiān)聽常見的鍵值?! ue允許為v-on在監(jiān)聽事件時添加按鍵修飾符:
常見的按鍵還有別名:
全部的按鍵別名:
.enter
.tab
.delete
.esc
.space
.up
.down
.left
.right
可以通過全局config.keyCodes對象 自定義案件修飾符別名
//可以使用v-on:keyup.f1 Vue.config.keyCodes.f1=112
按鍵修飾符 新增
可以用如下修飾符開啟鼠標(biāo)或鍵盤事件監(jiān)聽,使在按鍵按下時發(fā)生反應(yīng)。
.ctrl
.alt
.shift
.meta
注意:在不同系統(tǒng)的鍵盤上,meta對應(yīng)的鍵不一樣
為什么在HTML中監(jiān)聽事件
你可能注意到這種事件監(jiān)聽的方式違背了關(guān)注點(diǎn)分離的傳統(tǒng)理念。不必?fù)?dān)心,因?yàn)樗械腣ue.js事件處理方法和表達(dá)式都嚴(yán)格綁定在當(dāng)前視圖的ViewModel上,它不會導(dǎo)致任何維護(hù)上的困難。實(shí)際上,使用v-on有幾個好處:
1 掃一眼HTML模板便能輕松定位在JavaScript代碼里對應(yīng)的方法
2 因?yàn)槟銦o須在JavaScript里手動綁定事件,你的viewModel代碼可以是非常純粹的邏輯,和DOM完全解耦,更易于測試。
3 當(dāng)一個ViewModel被銷毀時,所有的事件處理器都會自動被刪除,你無須擔(dān)心如何自己清理它們。
讀到這里,這篇“vue.js中的事件處理器怎么用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。