第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

vue 組件通過bus通訊疑問

vue 組件通過bus通訊疑問

犯罪嫌疑人X 2019-05-24 16:00:27
1.問題是否非父子非兄弟關(guān)系的組件不能通過bus通訊?請各位大佬賜教解疑這個(gè)問題的目的是更深入理解bus的過程產(chǎn)生的,請不要說用vuex2.代碼思路在路由中注冊a組件,b組件在bus.js創(chuàng)建空的Vue實(shí)例作為事件總線訪問a組件的頁面:/aaa。然后點(diǎn)擊按鈕,通過bus派發(fā)事件在b組件中監(jiān)聽bus的自定義事件。但在a組件中派發(fā)事件后再訪問b組件,b組件的監(jiān)聽函數(shù)未執(zhí)行如沒能看懂,拜托復(fù)制相關(guān)代碼在本地跑下3.相關(guān)代碼(基于vue-cli)組件a組件a問候組件bimportbusfrom'./bus'exportdefault{methods:{sendMsg(){bus.$emit('send','組件b你好嗎?')this.$router.push('/bbb')}}}組件b組件b:{{msg}}importbusfrom'./bus'exportdefault{data(){return{msg:'msg初始值'}},mounted(){bus.$on('send',data=>{console.log(data)console.log(this)this.msg=data})}}bus.jsimportVuefrom'vue';exportdefaultnewVue()路由constaaa=()=>import('@/components/zujian/bus/a')constbbb=()=>import('@/components/zujian/bus/b')exportdefaultnewRouter({routes:[{path:'/aaa',component:aaa},{path:'/bbb',component:bbb}]})
查看完整描述

2 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

其實(shí)了解一下底層原理就明白了,實(shí)際上就是運(yùn)用了Vue內(nèi)部的事件機(jī)制,可以參考Vue事件機(jī)制。
emit做的事情就是從事件隊(duì)列中找到對應(yīng)的事件并執(zhí)行,找不到則會(huì)丟棄,所以需要保證在此之前已經(jīng)用on注冊了事件。
題主這段代碼組件B中的on還沒執(zhí)行過就已經(jīng)調(diào)用了組件A的emit了。
                            
查看完整回答
反對 回復(fù) 2019-05-24
?
胡子哥哥

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊

eventbus可以實(shí)現(xiàn)非父子關(guān)系的組件之間的通信.前提是兩個(gè)組件都已經(jīng)調(diào)用過mouted鉤子.也就是a/b頁面都進(jìn)入(渲染)過.
                            
查看完整回答
反對 回復(fù) 2019-05-24
  • 2 回答
  • 0 關(guān)注
  • 446 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)