在 Vue.js 2. x,model.sync
将被弃用中。
那么,Vue.js 2. x中兄弟组件之间的正确通信方式是什么呢?
据我所知,Vue.js 2.x 是兄弟通信 是使用商店或事件总线的首选方法。
根据 埃文(Vue.js 的创建者)的说法:
还值得一提的是“在组件之间传递数据”是 通常是个坏主意,因为最终数据流会变成 无法追踪,而且很难调试。
如果一段数据需要由多个组件共享,请选择 全球商店。
[ 链接到讨论]
还有:
不推荐使用
.once
和.sync
。道具现在总是单向下行 在父范围内产生副作用时,组件需要 显式地emit
一个事件,而不是依赖于隐式绑定。
因此,埃文建议使用 $emit()
和 $on()
。
我担心的是:
store
和 event
都具有全球可见性(如果我错了请纠正我) ;我想要的是一些 范围events
或 stores
的同级组件的可见性。(或许我并不理解上述观点。)
那么,在兄弟组件之间进行通信的正确方法是什么呢?