在 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的同级组件的可见性。(或许我并不理解上述观点。)
那么,在兄弟组件之间进行通信的正确方法是什么呢?