EventEmitter3 是一个第三方事件库,能够满足我们通过自定义的方式实现多个函数与组件间的通信
1. 核心模块 EE
fn: 回调函数,context:回调函数执行上下文,once 是否执行一次的标识符
function EE(fn, context,once){
this.fn = fn;
this.context = context;
this.once = once || false
}
2. Prototype属性
2.1 events
该属性用于存储eventEmitter 的所有方法的名称及其回调函数,默认值为undefined
3.Prototype方法
3.1 eventName
返回值:已经注册过的事件名称列表
参数:无
3.2 listeners
返回值:查询某个事件名称下的所有监听函数
参数:event-事件名称,exists-是否只判断存在
3.3 emit
含义: 触发指定事件名的事件
参数:event-事件名称,a1-a5-参数1-5
3.4 on
含义:为指定事件名称的事件添加监听函数
参数:event-事件名称,fn-回调函数,context-执行上下文
3.5 once
功能类似on 区别在于其只执行一次
3.5 removeListner
含义: 移除指定事件名下的监听函数
参数: event-事件名,fn-监听函数,context-只移除上下文匹配的监听事件,once-只移除类型匹配的事件监听函数
3.6 removeAllListener
含义:移除指定事件名称下的所有监听函数
参数: event-事件名