vuex怎么實現組件之間的通信
2 回答

ABOUTYOU
TA貢獻1812條經驗 獲得超5個贊
在項目中有這么兩個平行的vue.js組件, 都掛載在$el:document.body下:hall和detail
現在的情況是, detail中的某個值改變了, 需要在hall中的某個值也作出相應的改變。 本來是想做父子組件的, 但項目框架如此, 改還要牽扯到很多, 暫緩了。
我們知道vue.js中組件樹的通信是比較方便的: 子組件可以通過v-bind和prop來從父組件繼承值并雙向綁定, 而子組件也可以通過$dispatch方法來向父組件發送信息
那么這種平行的子組件之間, 有沒有什么好的通信方法呢?
現在的臨時解決方案就是:收到ajax的返回信息之后, 在回調函數中這樣寫:
this.$parent.$children[0].$data.somedata = somavalue
但這樣的寫法讓我很不安, 且不說那個強耦合$children[0], 實現也不甚優雅

大話西游666
TA貢獻1817條經驗 獲得超14個贊
一個問題被關閉了,看來你已經研究到總線通信這一部分了,目前的問題是
var eventBus = new Vue();
不能被其他組件所使用。
我猜測你可能是使用了官方的cli 生成的 Webpack的單文件組件模式吧。
給你一個簡單的辦法,在 main.js 里面
- 2 回答
- 0 關注
- 347 瀏覽
添加回答
舉報
0/150
提交
取消