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

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

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

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

Vue的事件系統(tǒng)分離自瀏覽器的EventTarget API。盡管它們的運行類似,但是$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ù)劺斫?,更新以前我那種錯誤的思想

先畫出理解的步驟,跟著步驟來進行理解

步驟1:

大家先看到這里,其實在步驟4里面的自定義標(biāo)簽經(jīng)過渲染之后是變成了如 步驟一 一樣的代碼,所以我們應(yīng)該從這里入手理解父子組件間事件綁定。在子組件里面把點擊事件(click)綁定給了函數(shù)increment(即圖片里面的步驟2),這里容易理解,即點擊了子組件的按鈕將會觸發(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ù)都會傳給監(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來進行通知,所以,這樣就形成父子組件間的相互呼應(yīng)傳遞信息,其實在開發(fā)的過程中父子組件通訊也都是使用這樣的方法,父組件傳遞信息給子組件的時候會通過props參數(shù),通常不會直接在子組件中修改父組件傳遞下來的信息,而且通過這樣的一個鉤子去通知父組件對某些參數(shù)進行改變

步驟5:

這個就容易理解了,上一版本是本人在初學(xué)的時候?qū)懙乃运季S很不嚴(yá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 實例都實現(xiàn)了事件接口(Events interface),即: 使用 $on(eventName) 監(jiān)聽事件 使用 $emit(eventName) 觸發(fā)事件 Vue的事件系統(tǒng)分離自瀏覽器的EventTarget API。盡管它們的運行類似,但是$on 和 $emit 不是addEventListene
推薦度:
標(biāo)簽: VUE 事件 on
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产欧美日韩综合 | 最新国产精品亚洲二区 | 精品国产一区二区在线观看 | 亚洲一区二区免费 | 中文字幕日韩一区二区三区不卡 | 玖玖国产精品 | 国产91精品对白露脸全集观看 | 天天躁日日躁狠狠躁中文字幕老牛 | 中文字幕va一区二区三区 | 国产一级二级三级 | 色网电影 | 日本一区二区三区在线播放 | 在线日韩理论午夜中文电影 | 91久久国产视频 | 久久免费福利视频 | 亚洲 欧美 日韩在线 | 一区二区手机视频 | 亚洲第一页在线视频 | 国产精品亚洲一区二区三区久久 | 国产精品成人h片在线 | 久久久久久综合成人精品 | 黄毛片 | 国产成人免费在线 | 国产精品每日更新在线观看 | 日韩精品 电影一区 亚洲高清 | 欧美日韩中 | 97精品国产福利一区二区三区 | 久久国产精品高清一区二区三区 | 自拍偷自拍亚洲精品情侣 | 91久久九九精品国产综合 | 亚洲国产一成人久久精品 | 亚洲 欧美 中文 日韩欧美 | 精品国产一区二区三区久久久狼 | 久久国产精品偷 | 国产欧美亚洲精品a | 亚洲一区精品伊人久久 | zozozo性欧美禽交3 | 在线观看欧美国产 | 91精品啪国产在线观看免费牛牛 | 日韩第一页在线 | 伊人久久精品一区二区三区 |