🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
现在,模仿事件发生器。 ~~~ exports.eventEmitter = eventEmitter; function eventEmitter(){ this.obj = {}; this.on = function(event,callback){ //对事件绑定监听器 if(!this.obj[event]){ this.obj[event] = []; this.obj[event].push(callback); } } this.emit = function(event){ this.obj[event][0](); } } ~~~ 在事件发生器中,有一个私有对象obj,用于记录事件名和事件函数。 在on函数中,将事件名和监听器存储在obj中,在emit函数中,根据 事件名调用相应的监听器。 如果想绑定多个事件监听器,可以使用 事件名/事件监听器数组 的形式存储。 写这个是为了了解事件发生器的原理,所以这个事件发生器写的不太完善。