Vue兄弟組件通信之借助中央事件總線
在成都網(wǎng)站制作、成都做網(wǎng)站中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營銷成為有效果、有回報的無錫營銷推廣。創(chuàng)新互聯(lián)公司專業(yè)成都網(wǎng)站建設(shè)10多年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。下載鏈接:百度網(wǎng)盤
其實要實現(xiàn)兄弟組件通信,就算是通過父子組件通信的方式也是可以達到的,如 子 ——>父——>子;
在這里呢,就不對這種方式進行贅述,下面給大家介紹——借助中央事件總線。
第一步:
在 組件文件夾中,創(chuàng)建一個js文件,這里將其命名為“bus,js”,在里面寫入如下代碼:
import Vue from 'vue';
const Bus = new Vue();
export default Bus;
第二步:
假如組件a.vue 和 組件b.vue是兄弟組件,那么分別在兩個.vue文件里,引入bus.js,寫法如下:
import Bus from './bus.js'
引入的具體路徑按照實際的項目寫,這里bus.js是和.vue文件同級。
第三步:
假如我們要實現(xiàn)a.vue傳值給b.vue,則在a.vue中,恰當?shù)牡胤?,比如某事件觸發(fā)后,或者mounted之類的生命周期中都行,寫入:
Bus.$emit("事件名",要傳的數(shù)據(jù));
第四步:
在b.vue的mounted中寫入:
Bus.$on('事件名',res=>{
console.log(res)//傳過來的數(shù)據(jù)
})
傳過來的數(shù)據(jù)可以是一個變量,也可以是一個對象、數(shù)據(jù)。
到此,通信結(jié)束。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。