之前我们已经对父子组件之间的通信有了一定的理解 #22 ,那么对于非父子组件之间的通信该如何实现呢?
Event Bus
首先, 新建一个 bus.js
, 使用一个空的 Vue
实例作为事件总线
1 | import Vue from 'vue' |
再新建两个组件:
a
组件
1 | <template> |
b
组件
1 | <template> |
最后将 a
, b
组件展示出来
1 | <template> |
此时点击 a
组件中的按钮,就会发现 b
中的 msg
变成了 data from aa component
vuex
在复杂情况下, 就应该考虑使用
vuex
来管理状态了