|
|
|
@ -15,19 +15,20 @@ export default class Events { |
|
|
|
// 注册事件
|
|
|
|
register(event, cb) { |
|
|
|
if (!this.defineEvent[event]) { |
|
|
|
(this.defineEvent[event] = [cb]); |
|
|
|
} |
|
|
|
else { |
|
|
|
this.defineEvent[event] = [cb]; |
|
|
|
} else { |
|
|
|
this.defineEvent[event].push(cb); |
|
|
|
} |
|
|
|
} |
|
|
|
// 派遣事件
|
|
|
|
dispatch(event, arg) { |
|
|
|
if(this.defineEvent[event]) {{ |
|
|
|
if (this.defineEvent[event]) { |
|
|
|
{ |
|
|
|
for (let i = 0, len = this.defineEvent[event].length; i < len; ++i) { |
|
|
|
this.defineEvent[event][i] && this.defineEvent[event][i](arg); |
|
|
|
} |
|
|
|
}} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// on 监听
|
|
|
|
on(event, cb) { |
|
|
|
@ -36,7 +37,7 @@ export default class Events { |
|
|
|
// off 方法
|
|
|
|
off(event, cb) { |
|
|
|
if (this.defineEvent[event]) { |
|
|
|
if(typeof(cb) == "undefined") { |
|
|
|
if (typeof cb == "undefined") { |
|
|
|
delete this.defineEvent[event]; // 表示全部删除
|
|
|
|
} else { |
|
|
|
// 遍历查找
|
|
|
|
@ -57,7 +58,7 @@ export default class Events { |
|
|
|
let onceCb = () => { |
|
|
|
cb && cb(); |
|
|
|
this.off(event, onceCb); |
|
|
|
} |
|
|
|
}; |
|
|
|
this.register(event, onceCb); |
|
|
|
} |
|
|
|
} |