在Vue项目开发中,组件通信是经常用到的,除了常见的父子组件通信之外,Vue还有事件总线机制,用于非父子组件的通信(如果一个信息被很多组件使用,还是推荐 Vuex).
下面我们看一下具体用法:
- 创建EventBus.js文件
- 创建接收方组件busA, 引入EventBus, 并且监听EventBus事件.
- 创建发送方组件busB, 引入EventBus, 并且创建发送事件
- 将上面两个组件引入需要使用的页面中(因为是学习用的项目,我们这里引入到App.vue)
组件使用步骤: 引入-->注册-->使用. - 我们打开控制台并点击发送方按钮 ,查看组件busA是否能接收到消息.
组件能接受到证明我们的使用方法是正确的的.
- 最后提一句:发送方所注册的发送事件,任何一个监听该事件并且引入EventBus的组件都能接收到他发送的消息.
举例:创建一个组件C,引入EventBus,并且监听上面busB中的'sendMsg'事件,就能和busA同时接收到该事件传送的消息.