国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

淺談Vue.js 組件中的v-on綁定自定義事件理解

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:25:28
文檔

淺談Vue.js 組件中的v-on綁定自定義事件理解

淺談Vue.js 組件中的v-on綁定自定義事件理解:每個 Vue 實(shí)例都實(shí)現(xiàn)了事件接口(Events interface),即: 使用 $on(eventName) 監(jiān)聽事件 使用 $emit(eventName) 觸發(fā)事件 Vue的事件系統(tǒng)分離自瀏覽器的EventTarget API。盡管它們的運(yùn)行類似,但是$on 和 $emit 不是addEventListene
推薦度:
導(dǎo)讀淺談Vue.js 組件中的v-on綁定自定義事件理解:每個 Vue 實(shí)例都實(shí)現(xiàn)了事件接口(Events interface),即: 使用 $on(eventName) 監(jiān)聽事件 使用 $emit(eventName) 觸發(fā)事件 Vue的事件系統(tǒng)分離自瀏覽器的EventTarget API。盡管它們的運(yùn)行類似,但是$on 和 $emit 不是addEventListene

每個 Vue 實(shí)例都實(shí)現(xiàn)了事件接口(Events interface),即:

使用 $on(eventName) 監(jiān)聽事件

使用 $emit(eventName) 觸發(fā)事件

Vue的事件系統(tǒng)分離自瀏覽器的EventTarget API。盡管它們的運(yùn)行類似,但是$on 和 $emit 不是addEventListener 和 dispatchEvent 的別名。

另外,父組件可以在使用子組件的地方直接用 v-on 來監(jiān)聽子組件觸發(fā)的事件。

下面是一個文檔上面的例子:

2017年4月11日更新

<div id="counter-event-example">
 <p>{{ total }}</p>
 <button-counter v-on:increment="incrementTotal"></button-counter>
 <button-counter v-on:increment="incrementTotal"></button-counter>
</div>


Vue.component('button-counter', {
 template: '<button v-on:click="increment">{{ counter }}</button>',
 data: function () {
 return {
 counter: 0
 }
 },
 methods: {
 increment: function () {
 this.counter += 1
 this.$emit('increment')
 }
 },
})
new Vue({
 el: '#counter-event-example',
 data: {
 total: 0
 },
 methods: {
 incrementTotal: function () {
 this.total += 1
 }
 }
})

跟著這個例子我來談?wù)劺斫猓乱郧拔夷欠N錯誤的思想

先畫出理解的步驟,跟著步驟來進(jìn)行理解

步驟1:

大家先看到這里,其實(shí)在步驟4里面的自定義標(biāo)簽經(jīng)過渲染之后是變成了如 步驟一 一樣的代碼,所以我們應(yīng)該從這里入手理解父子組件間事件綁定。在子組件里面把點(diǎn)擊事件(click)綁定給了函數(shù)increment(即圖片里面的步驟2),這里容易理解,即點(diǎn)擊了子組件的按鈕將會觸發(fā)位于子組件的increment函數(shù)

步驟2與步驟3:

increment函數(shù)被觸發(fā)執(zhí)行,在步驟2里面執(zhí)行了一句調(diào)用函數(shù)的語句

this.$emit('increment')

我們來看一下文檔

vm.$emit( event, […args] ) : 觸發(fā)當(dāng)前實(shí)例上的事件。附加參數(shù)都會傳給監(jiān)聽器回調(diào)

在這里是什么意思呢?按我自己的大白話就是這樣說的:

通過這句函數(shù)可以讓父組件知道子組件調(diào)用了什么函數(shù),this.$emit(‘increment') 即類似于子組件跟父組件說了一聲“hi,爸爸 我調(diào)用了我自己的increment函數(shù)”,通知父組件

步驟4:

回看一下在父組件里面定義的自定義標(biāo)簽,可以看到

v-on:increment="incrementTotal"

什么意思呢?我們還是用大白話來解釋一下

就是說“孩子,當(dāng)你調(diào)用了increment函數(shù)的時候,我將調(diào)用incrementTotal函數(shù)來回應(yīng)你”

這時我們回想步驟3,在子組件我們已經(jīng)使用emit來進(jìn)行通知,所以,這樣就形成父子組件間的相互呼應(yīng)傳遞信息,其實(shí)在開發(fā)的過程中父子組件通訊也都是使用這樣的方法,父組件傳遞信息給子組件的時候會通過props參數(shù),通常不會直接在子組件中修改父組件傳遞下來的信息,而且通過這樣的一個鉤子去通知父組件對某些參數(shù)進(jìn)行改變

步驟5:

這個就容易理解了,上一版本是本人在初學(xué)的時候?qū)懙乃运季S很不嚴(yán)謹(jǐn),抱歉,歡迎大家指導(dǎo)批評

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

淺談Vue.js 組件中的v-on綁定自定義事件理解

淺談Vue.js 組件中的v-on綁定自定義事件理解:每個 Vue 實(shí)例都實(shí)現(xiàn)了事件接口(Events interface),即: 使用 $on(eventName) 監(jiān)聽事件 使用 $emit(eventName) 觸發(fā)事件 Vue的事件系統(tǒng)分離自瀏覽器的EventTarget API。盡管它們的運(yùn)行類似,但是$on 和 $emit 不是addEventListene
推薦度:
標(biāo)簽: VUE 事件 on
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 在线观看亚洲视频 | 免费看成人国产一区二区三区 | 国产精品伦视频观看免费 | 欧美 日韩 国产在线 | 欧美曰韩 | 亚洲视频免费观看 | 国产成人亚洲综合一区 | 亚洲欧美综合网站 | 国产99视频精品免费观看7 | 领导边摸边吃奶边做爽在线观看 | 色综合欧美综合天天综合 | 日韩国产在线观看 | 国产青草视频在线观看 | 国产在线观看一区二区三区 | 国产成人一区二区三区影院免费 | 国产精品久久久久免费 | 欧美3p在线观看一区二区三区 | 国产va在线播放 | 一级毛片免费毛片毛片 | 亚洲一区二区三区高清 | 一区二区久久 | 国产精品123区 | 中文字幕国产欧美 | 亚洲第8页| 国产日韩欧美综合在线 | 日韩 国产 在线 | 国产亚洲欧美日韩综合另类 | 五月天婷婷视频在线观看 | 国产真实乱人偷精品 | 欧美日韩免费一区二区在线观看 | 国产自在线拍 | 国产特级全黄一级毛片不卡 | 国产精品一区二区av | 亚洲精品99久久久久中文字幕 | 天堂精品高清1区2区3区 | 欧美专区亚洲 | 亚洲欧美一区二区三区孕妇 | 欧美 日韩 高清 | 2022国产精品福利在线观看 | 国产成人99久久亚洲综合精品 | 精品久久久久久亚洲 |