与孙子组件的通信

时间:2018-01-21 03:48:25

标签: vue.js components communication

我有三个名为

的组件

A.vue> B.vue(A的子组分)> C.vue(B的子组件)

A从核心后端接收直接数据。我想将数据传递给C.我目前正在使用Props执行此操作,其中A将数据发送到B,B将数据发送到C.

它有效,但我很想知道是否有更有效的方式进行这种沟通。

1 个答案:

答案 0 :(得分:0)

全局事件总线是处理此问题的常用方法。

// event-bus.js
const bus = new Vue()
export default bus

然后,您可以在组件中导入event-bus.js并通过以下方式进行沟通:

bus.$emit('event', 'payload')
....
bus.$on('event', payload => { ... })

然而,我更喜欢利用州经理vuex。存储/模块状态的反应性允许您在commiting突变时观察变化。 mapGetters, mapMutations, and mapActions在这里非常有帮助。