简单的EventBus

126 阅读1分钟

1、定义接收者。

const subs=[];

2、定义事件注册和监听器。

function on(eventName, handler) {
        subs.push({ eventName, handler });
    }

3、定义事件触发器或者发射器。

function emit(eventName, args) {
        const event =subs.find(sub => sub.eventName === eventName);
        if (event) {
            event.handler.apply(this, args);
        }
    }

4、设置eventBus代理,并注册到window

window.eventBus ={on,emit}

5、验证

自定义trigger事件并监听该事件

eventBus.on('trigger',function(){console.log('eventBus模式')})

触发该事件

eventBus.emit('trigger')