// 声明类 export class EventBus { private eventList: object; constructor() { //定义事件总线对象 this.eventList = {}; } //监听,或者说是发布 on(eventName, fn) { let eventItem = this.eventList[eventName]; eventItem ? eventItem.push(fn) : (this.eventList[eventName] = [fn]); } //触发,订阅 emit(eventName, ...arg) { this.eventList[eventName] && this.eventList[eventName].forEach((fn) => { fn(...arg); }); } } export default EventBus;