手写事件总线
*方便各个组件之间的互相调用*
class Bus{
constructor(){
this.obj = {};
}
//绑定事件
on(eventName,fn){
if(this.obj[eventName]){
this.obj[eventName].push(fn);
}else{
this.obj[eventName] = [fn];
}
}
emit(eventName,...args){
if(!this.obj[eventName]){
console.log('没有这个事件...')
return;
}
this.obj[eventName].forEach(item => {
item(...args);
})
}
off(eventName){
delete this.obj[eventName]
}
}