在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 想讓vue子(孫)組件的動(dòng)作一直觸發(fā)到祖父(或更多級(jí))組件

想讓vue子(孫)組件的動(dòng)作一直觸發(fā)到祖父(或更多級(jí))組件

<component-祖父>
<component-父>
<component-孫> 在這里this.$emit()一個(gè)動(dòng)作,想一直傳遞到祖父組件那里,必須要在父級(jí)那里做一次接力么?

父級(jí)組件中不需要對(duì)孫級(jí)的組件做任何的反應(yīng)

回答
編輯回答
囍槑

不建議這樣去傳遞,這種情況用vuex會(huì)很簡(jiǎn)單,傳兩級(jí)會(huì)導(dǎo)致代碼不容易維護(hù),即使是最簡(jiǎn)單的cms后臺(tái),用了store后你會(huì)發(fā)現(xiàn)代碼維護(hù)性和可讀性大大加強(qiáng),怕數(shù)據(jù)混亂可以建模塊來管理state,新手的確不容易理解,但是理解后你會(huì)發(fā)現(xiàn)很多問題變得很簡(jiǎn)單。封裝組件除外,那個(gè)的確需要這么去做,業(yè)務(wù)層不建議,另外vue的render函數(shù)是個(gè)進(jìn)階必學(xué),用起來會(huì)很爽!

2017年1月28日 19:54
編輯回答
終相守

可以參考下 element-ui 源碼里面封裝的src/mixins/emitter.js里面封裝的mixins

指定觸發(fā)對(duì)象,組件名,通過while循環(huán),向上遍歷,找到組件后觸發(fā)。。

2018年9月18日 07:03
編輯回答
夏夕

最佳實(shí)踐,自己跑一下,不行那就是不行咯。換成vuex去跑就行了

2018年1月30日 18:19
編輯回答
過客

組件通信,月經(jīng)...
復(fù)雜場(chǎng)景使用vuex,具體看文檔.
簡(jiǎn)單用用可以試試這個(gè)方案.
根組件實(shí)例之前
Vue.prototype.$pub = new Vue()
然后根組件下所有組件都可以通過
this.$pub.$emit('event', payload)的方式廣播消息.
同時(shí),所有的組件都可以通過
this.$pub.$on('event', payload)的方式接收到這個(gè)消息,包括發(fā)消息的組件本身.

使用這種方式,可以實(shí)現(xiàn)一個(gè)全局的dialog組件.
筆記

2017年4月5日 00:17