class Event {
constructor() {
this.eventObj = {};
}
$on(eventName, fn) {
if (!this.eventObj[eventName]) {
this.eventObj[eventName] = [];
}
this.eventObj[eventName].push(fn);
}
$emit(eventName, ...args) {
if (!this.eventObj[eventName]) {
console.error(`并没有创建${eventName}`);
return;
}
this.eventObj[eventName].map((cb) => {
cb(...args);
});
}
$off(eventName) {
if (!this.eventObj[eventName]) return;
this.eventObj[eventName] = 0;
}
}
let eventBus = new Event();
eventBus.$on('id', function (result) {
console.log(result);
});
eventBus.$off('id');
eventBus.$emit('id', { id: 2 });