12345678910111213141516171819202122232425262728293031 |
- export default class EventSystem {
- constructor(){
- this.callbacks = {};
- }
- on(e,cb){
- if(!this.callbacks[e]){
- this.callbacks[e] = [];
- }
- this.callbacks[e].push(cb)
- return this;
- }
- off(e,cb){
- let index = this.callbacks[e].indexOf(cb)
- if( index> -1) {
- this.callbacks[e].splice(index,1);
- }
- return this;
- }
- emit(eventName,data){
- this.callbacks[eventName] && this.callbacks[eventName].forEach((cb) => cb(data));
- return this;
- }
- }
|