6
VueJs 2.0中同级组件之间的通信
总览 在Vue.js 2.x中,model.sync将不推荐使用。 那么,在Vue.js 2.x中的兄弟组件之间进行通信的正确方法是什么? 背景 据我了解Vue 2.x,同级通信的首选方法是使用商店或事件总线。 根据Evan(Vue的创建者)的说法: 值得一提的是,“在组件之间传递数据”通常不是一个好主意,因为最终数据流变得不可跟踪且很难调试。 如果一条数据需要由多个组件共享,则首选 全局存储或Vuex。 [ 讨论链接 ] 和: .once并且.sync已弃用。现在,道具总是单向下降。为了在父范围内产生副作用,组件需要显式地声明emit一个事件,而不是依赖于隐式绑定。 因此,Evan 建议使用$emit()和$on()。 顾虑 让我担心的是: 每个store并event具有全球知名度(纠正我,如果我错了); 为每次次要沟通创建一个新的商店太浪费了; 我想要的是兄弟姐妹组件的某种范围 events或stores可见性。(或者也许我不理解上面的想法。) 题 那么,同级组件之间进行通信的正确方法是什么?