export default class EventBus {
constructor() {
this.events = {}
}
emit(eventName, data) {
if (this.events[eventName]) {
this.events[eventName].forEach(function (fn) {
fn(data)
})
}
}
on(eventName, fn) {
this.events[eventName] = this.events[eventName] || []
this.events[eventName].push(fn)
}
off(eventName, fn) {
if (this.events[eventName]) {
for (var i = 0; i < this.events[eventName].length; i++) {
if (this.events[eventName][i] === fn) {
this.events[eventName].splice(i, 1)
break
}
}
}
}
}
EventBus
最新推荐文章于 2024-11-02 12:42:04 发布
本文介绍了一个名为EventBus的类,用于事件管理。EventBus包含构造函数,emit方法用于触发事件并传递数据,on方法用于添加事件监听器,off方法则用于移除监听器。这个系统基于事件发布/订阅模式,支持多个函数对同一事件的监听和解绑。
摘要由CSDN通过智能技术生成