最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年11月17日 11:37:12   作者:hello_錦泰  
這篇文章主要介紹了淺談Vue.js 組件中的v-on綁定自定義事件理解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

每個(gè) 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 來(lái)監(jiān)聽子組件觸發(fā)的事件。

下面是一個(gè)文檔上面的例子:

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
  }
 }
})

跟著這個(gè)例子我來(lái)談?wù)劺斫猓乱郧拔夷欠N錯(cuò)誤的思想

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

步驟1:

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

步驟2與步驟3:

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

this.$emit('increment')

我們來(lái)看一下文檔

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

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

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

步驟4:

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

v-on:increment="incrementTotal"

什么意思呢?我們還是用大白話來(lái)解釋一下

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

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

步驟5:

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue如何將v-for中的表格導(dǎo)出來(lái)

    vue如何將v-for中的表格導(dǎo)出來(lái)

    這篇文章主要介紹了vue如何將v-for中的表格導(dǎo)出來(lái),需要的朋友可以參考下
    2018-05-05
  • vue組件文檔生成備注詳解

    vue組件文檔生成備注詳解

    這篇文章主要介紹了vue組件文檔生成備注詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue+better-scroll 實(shí)現(xiàn)通訊錄字母索引的示例代碼

    Vue+better-scroll 實(shí)現(xiàn)通訊錄字母索引的示例代碼

    通訊錄字母索引是常用的一種功能,本文主要介紹了Vue+better-scroll 實(shí)現(xiàn)通訊錄字母索引,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • vue最強(qiáng)table vxe-table 虛擬滾動(dòng)列表 前端導(dǎo)出問(wèn)題分析

    vue最強(qiáng)table vxe-table 虛擬滾動(dòng)列表 前端導(dǎo)出問(wèn)題分析

    最近遇到個(gè)問(wèn)題,后臺(tái)一次性返回2萬(wàn)條列表數(shù)據(jù)并且需求要求所有數(shù)據(jù)必須全部展示,不能做假分頁(yè),怎么操作呢,下面通過(guò)本文介紹下vue最強(qiáng)table vxe-table 虛擬滾動(dòng)列表 前端導(dǎo)出問(wèn)題,感興趣的朋友一起看看吧
    2023-10-10
  • 詳解vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù))

    詳解vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù))

    這篇文章主要介紹了vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù)),本文通過(guò)實(shí)例代碼給大家介紹的詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Vue SSR 即時(shí)編譯技術(shù)的實(shí)現(xiàn)

    Vue SSR 即時(shí)編譯技術(shù)的實(shí)現(xiàn)

    這篇文章主要介紹了Vue SSR 即時(shí)編譯技術(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • vue列表如何自動(dòng)滾動(dòng)到制定位置

    vue列表如何自動(dòng)滾動(dòng)到制定位置

    這篇文章主要介紹了vue列表如何自動(dòng)滾動(dòng)到制定位置問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解vue通過(guò)NGINX部署在子目錄或者二級(jí)目錄實(shí)踐

    詳解vue通過(guò)NGINX部署在子目錄或者二級(jí)目錄實(shí)踐

    這篇文章主要介紹了詳解vue通過(guò)NGINX部署在子目錄或者二級(jí)目錄實(shí)踐,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue3+ts實(shí)現(xiàn)一個(gè)表單組件的詳細(xì)代碼

    vue3+ts實(shí)現(xiàn)一個(gè)表單組件的詳細(xì)代碼

    這篇文章主要介紹了vue3+ts實(shí)現(xiàn)一個(gè)表單組件的詳細(xì)代碼,確保通過(guò)axios調(diào)用后端接口來(lái)獲取省市區(qū)和街道數(shù)據(jù),并在選擇省市區(qū)時(shí)加載相應(yīng)的街道數(shù)據(jù),需要的朋友可以參考下
    2024-07-07
  • 一次搞清Vue3中組件通訊的全部方式

    一次搞清Vue3中組件通訊的全部方式

    毫無(wú)疑問(wèn),組件通訊是Vue中非常重要的技術(shù)之一,它的出現(xiàn)能夠使我們非常方便的在不同組件之間進(jìn)行數(shù)據(jù)的傳遞,以達(dá)到數(shù)據(jù)交互的效果,所以,學(xué)習(xí)組件通訊技術(shù)是非常有必要的,本文將一次解決Vue3中組件通訊的全部方式,總有你想要的那一種,需要的朋友可以參考下
    2024-09-09

最新評(píng)論

德格县| 台东县| 常德市| 大庆市| 石渠县| 荣昌县| 门源| 青浦区| 五指山市| 文安县| 齐河县| 麻城市| 万宁市| 威信县| 美姑县| 怀远县| 黄浦区| 麻阳| 昔阳县| 乡城县| 铁力市| 湟源县| 和田县| 方城县| 阜南县| 黎平县| 余庆县| 菏泽市| 绥中县| 合作市| 武胜县| 玉山县| 班戈县| 许昌市| 阿拉善右旗| 厦门市| 资中县| 留坝县| 洪湖市| 成都市| 碌曲县|