# js-events-emitter **Repository Path**: DoLaMi/js-events-emitter ## Basic Information - **Project Name**: js-events-emitter - **Description**: javascript 订阅事件和发布事件类 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-18 - **Last Updated**: 2021-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 简介 > javascript 订阅事件和发布事件类 - 相对于 EventEmitter 这个库可以传 this,改变回调 this 指向 ### 起步 ```bash npm i js-events-emitter -S ``` ### 使用 ```js const JsEventsEmitter= require('js-events-emitter') // 或 import JsEventsEmitter from 'js-events-emitter' const events = new JsEventsEmitter() let _this = new Object() events.on('custom-event', _this, callbackFunc, ['附加参数1', '附加参数2']) events.emit('custom-event', ['附加参数3', '附加参数4']) function callbackFunc(param1, param2, param3, param4) { console.log(param1, param2, param3, param4) //'附加参数1', '附加参数2','附加参数3', '附加参数4' console.log(this) // this === _this } ``` ### JsEventsEmitter - 详情: 订阅事件和发布事件 --- ### 方法 ### on - 详情: 订阅事件 | 参数 | 类型 | 默认值 | 描述 | | --- | --- | --- | --- | | type | string | | 事件名 | | scope | * | | 作用域 | | callback | function | | 回调 | | [params] | array | [] | 回调参数 | --- ### once - 详情: 订阅事件-回调只执行一次 | 参数 | 类型 | 默认值 | 描述 | | --- | --- | --- | --- | | type | string | | 事件名 | | scope | * | | 作用域 | | callback | function | | 回调 | | [params] | array | [] | 回调参数 | --- ### emit - 详情: 发布事件 | 参数 | 类型 | 默认值 | 描述 | | --- | --- | --- | --- | | type | string | | | | [params] | array | [] | 附加到回调的参数 | --- ### getListener - 详情: 获取指定事件的监听器数组列表 | 参数 | 类型 | 默认值 | 描述 | | --- | --- | --- | --- | | type | string | | 事件名 | - 返回:array|undefined- 返回列表 --- ### getListenerList - 详情: 获取全部事件的全部监听者的列表 - 返回:object --- ### getEventNames - 详情: 获取已经监听的事件名列表 - 返回:array- 事件名数组 --- ### addListener - 详情: 添加到事件等待处理触发列表 | 参数 | 类型 | 默认值 | 描述 | | --- | --- | --- | --- | | type | string | | | | [listenerParams] | object | { callback: null, scope: this, params: null, isOnce: false } | 触发事件的参数 | --- ### offAll - 详情: 清除所有订阅 | 参数 | 类型 | 默认值 | 描述 | | --- | --- | --- | --- | | type | string,null | | 事件名, 如果指定事件则移除该事件的所有监听器,如果不传则移除所有事件的所有监听器,并注销事件 | --- ### off - 详情: 清除对应的订阅 | 参数 | 类型 | 默认值 | 描述 | | --- | --- | --- | --- | | type | string | | 事件名 | | removeCallback | function | | 监听器的回调函数 | ---