我有三个名为
的组件A.vue> B.vue(A的子组分)> C.vue(B的子组件)
A从核心后端接收直接数据。我想将数据传递给C.我目前正在使用Props执行此操作,其中A将数据发送到B,B将数据发送到C.
它有效,但我很想知道是否有更有效的方式进行这种沟通。
答案 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
在这里非常有帮助。