目前在項目中有這么兩個平行的vue.js組件, 都掛載在$el:document.body
下:hall
和detail
現(xiàn)在的情況是, detail
中的某個值改變了, 需要在hall
中的某個值也作出相應(yīng)的改變。 本來是想做父子組件的, 但項目框架如此, 改還要牽扯到很多, 暫緩了。
我們知道vue.js中組件樹的通信是比較方便的: 子組件可以通過v-bind
和prop
來從父組件繼承值并雙向綁定, 而子組件也可以通過$dispatch
方法來向父組件發(fā)送信息
那么這種平行的子組件之間, 有沒有什么好的通信方法呢?
現(xiàn)在的臨時解決方案就是:收到ajax的返回信息之后, 在回調(diào)函數(shù)中這樣寫:
this.$parent.$children[0].$data.somedata = somavalue
但這樣的寫法讓我很不安, 且不說那個強(qiáng)耦合$children[0]
, 實現(xiàn)也不甚優(yōu)雅
有沒有什么好的辦法呢?求解!
更加令人蛋傷的是項目用的是0.12版本+browserify進(jìn)行組件打包, 1.0的高級特性不敢亂用……