初始化
- EventBus 是一个不具备 DOM 的组件,仅仅具有它的实例方法
- 基座中使用的是全局注册:即 发布/订阅模式
1
2
3
4
5
6
7
8
9// event-bus.js
import Vue from 'vue'
export const EventBus = new Vue()
// 全局注册 不需要注册
Vue.prototype.$eventBus = new Vue()
// 或者
import { EventBus } from './eventBus';
Vue.prototype.$eventBus = new EventBus()
发布事件 / 订阅事件
1 | // 发布消息 |
移除事件监听
- A向eventBus发送事件,重新进入B会创建多次监听,所以要及时销毁
1
this.$eventBus.$off('aMsg')