window.eventHub = {
events: {},
emit(eventName, data) {//data就是你发布的信息,
//发布
for (let key in this.events) {
if (key === eventName) {
let fnList = this.events[key]
fnList.map(fn => {
fn.call(undefined, data)
})
}
}
},
on(eventName, fn) {//fn就是你订阅者要做的事,是一个callback函数,传给发布者让他帮你call
//订阅
if (this.events[eventName] === undefined) {
this.events[eventName] = []
}
this.events[eventName].push(fn)
},
off() {}
}