鍍金池/ 問答/HTML/ Vue2.0兄弟組件(或多級組件)間的通信用Vuex和EventBus哪種更好。

Vue2.0兄弟組件(或多級組件)間的通信用Vuex和EventBus哪種更好。

通過vuex的話,好像是需要創(chuàng)建一個多余的狀態(tài)變量,然后通過A組件修改該狀態(tài),而B組件對該狀態(tài)的變化進行監(jiān)聽,從而實現(xiàn)事件的傳遞。但是感覺上該狀態(tài)變量的值并沒有實際意義(畢竟只是變化這個動作本身起了作用),且要多繞一下vuex,不大直觀。

而通過EventBus的話,感覺上更加直觀,但是有時我需要知道我拋了一個事件出去后,到底有哪些組件在監(jiān)聽,就只能在代碼中全局搜索該事件名了,維護上有些不便。

求教大神,是否有更好的辦法來解決這個問題呢?

回答
編輯回答
我甘愿

推薦vuex。

  1. 最開始項目感覺組件交互少,我也用的eventBus,但需求加著加著,通信越來越多,eventBus就不夠直觀,很容易出錯了。比如,一個業(yè)務(wù)組件,復用在四五個地方,又同時和父,兄弟組件通信,這時eventBus就比較容易換亂了。
  2. vuex其實用起來更簡單,對性能影響也比較小。
  3. 自己寫demo,兩個都用,聯(lián)系一下;正式項目直接上vuex。
2018年6月22日 06:35