eventBus在vue中的使用

2021-10-06 13:34:38 字數 924 閱讀 8897

在vue專案中,父子元件間的通訊很方便。但兄弟元件或多層巢狀元件間的通訊,就會比較麻煩。這時,使用eventbus通訊,就可以很便捷的解決這個問題。

eventbus可以在全域性定義,實現全專案通訊,使用方法也很簡單。

1、初始化——全域性定義

全域性定義,可以將eventbus繫結到vue例項的原型上,也可以直接繫結到window物件上.

//方式一

vue.prototype.$eventbus = new vue();

//方式二

window.eventbus = new vue();

2、觸發事件

//使用方式一定義時

this.$eventbus.$emit('eventname', param1,param2,...)

//使用方式二定義時

eventbus.$emit('eventname', param1,param2,...)

3、監聽事件

//使用方式一定義時

this.$eventbus.$on('eventname', (param1,param2,...)=>)

//使用方式二定義時

eventbus.$on('eventname', (param1,param2,...)=>)

4、移除監聽事件

為了避免在監聽時,事件被反覆觸發,通常需要在頁面銷毀時移除事件監聽。或者在開發過程中,由於熱更新,事件可能會被多次繫結監聽,這時也需要移除事件監聽。

//使用方式一定義時

this.$eventbus.$off('eventname');

//使用方式二定義時

eventbus.$off('eventname');

vue中EventBus的使用

第一步 建立乙個bus.js檔案,建立bus import vue from vue const bus new vue export default bus第二步 在需要互相通訊的元件中引入bus.js檔案 a b元件 import bus from utils bus.js 第三步 元件a中呼叫...

vue中eventBus的使用

eventbus是用於元件間通訊的一種方法,我們都知道在vue中資料流是單向的,那麼非父子元件間的傳值自然值得我們注意 一種是我們都很熟悉的vuex 它可以通過倉庫溝通我們所有元件間的通訊 而另外還存在一種叫做eventbus的方法 使用場景如 兄弟元件間的通訊,父元件fathercom中同時使用到...

nodeType屬性在vue原始碼中的使用

每個節點都有乙個 nodetype 屬性,用於表明節點的型別,節點型別由node型別中定義12個常量表示 nodetype在vue中的應用 在vue編譯的過程中需要查詢html結構中的雙大括號,或者 事件等代表vue中的資料及方法的屬性值,通過編譯將查詢到的部分使用vue例項中的屬性或方法替換 cl...