亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

每個(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 來監(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è)例子我來談?wù)劺斫猓乱郧拔夷欠N錯(cuò)誤的思想

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

步驟1:

大家先看到這里,其實(shí)在步驟4里面的自定義標(biāo)簽經(jīng)過渲染之后是變成了如 步驟一 一樣的代碼,所以我們應(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ù)的語句

this.$emit('increment')

我們來看一下文檔

vm.$emit( event, […args] ) : 觸發(fā)當(dāng)前實(shí)例上的事件。附加參數(shù)都會(huì)傳給監(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ù)的時(shí)候,我將調(diào)用incrementTotal函數(shù)來回應(yīng)你”

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

步驟5:

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

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

相關(guān)文章

  • vue中的rules表單校驗(yàn)規(guī)則使用方法示例詳解 :rules=“rules“

    vue中的rules表單校驗(yàn)規(guī)則使用方法示例詳解 :rules=“rules“

    這篇文章主要介紹了vue中的rules表單校驗(yàn)規(guī)則使用方法示例詳解 :rules=“rules“,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • 在Vue3中使用Vue Tour實(shí)現(xiàn)頁面導(dǎo)覽

    在Vue3中使用Vue Tour實(shí)現(xiàn)頁面導(dǎo)覽

    Vue Tour 是一個(gè)方便的 Vue.js 插件,它可以幫助我們在網(wǎng)站或應(yīng)用中實(shí)現(xiàn)簡單而靈活的頁面導(dǎo)覽功能,本文我們將介紹如何在 Vue 3 中使用 Vue Tour,并通過示例代碼演示其基本用法,需要的朋友可以參考下
    2024-04-04
  • Vue循環(huán)遍歷選項(xiàng)賦值到對應(yīng)控件的實(shí)現(xiàn)方法

    Vue循環(huán)遍歷選項(xiàng)賦值到對應(yīng)控件的實(shí)現(xiàn)方法

    這篇文章主要介紹了Vue-循環(huán)遍歷選項(xiàng)賦值到對應(yīng)控件的實(shí)現(xiàn)方法啊,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • Map.vue基于百度地圖組件重構(gòu)筆記分享

    Map.vue基于百度地圖組件重構(gòu)筆記分享

    這篇文章主要為大家分享了Map.vue基于百度地圖組件重構(gòu)筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • vue引入靜態(tài)js文件的方法

    vue引入靜態(tài)js文件的方法

    這篇文章主要介紹了vue引入靜態(tài)js文件的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • vue3.0之Router的使用你了解嗎

    vue3.0之Router的使用你了解嗎

    這篇文章主要為大家詳細(xì)介紹了vue3.0之Router的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • vue語法自動(dòng)轉(zhuǎn)typescript(解放雙手)

    vue語法自動(dòng)轉(zhuǎn)typescript(解放雙手)

    這篇文章主要介紹了vue語法自動(dòng)轉(zhuǎn)typescript,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 基于Vue3的全屏拖拽上傳組件

    基于Vue3的全屏拖拽上傳組件

    本文主要介紹了基于Vue3的全屏拖拽上傳組件,其實(shí)思路上與其他拖拽上傳組件基本一樣,都是指定一個(gè)區(qū)域可拖拽,然后讀取文件在上傳,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • 詳解vue指令與$nextTick 操作DOM的不同之處

    詳解vue指令與$nextTick 操作DOM的不同之處

    這篇文章主要介紹了vue指令與$nextTick 操作DOM的不同之處,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • Vue2利用Axios發(fā)起請求的詳細(xì)過程記錄

    Vue2利用Axios發(fā)起請求的詳細(xì)過程記錄

    有很多時(shí)候你在構(gòu)建應(yīng)用時(shí)需要訪問一個(gè)API并展示其數(shù)據(jù),做這件事的方法有好幾種,而使用基于promise的HTTP客戶端axios則是其中非常流行的一種,這篇文章主要給大家介紹了關(guān)于Vue2利用Axios發(fā)起請求的詳細(xì)過程,需要的朋友可以參考下
    2021-12-12

最新評論