编写事件派发器
可以监听xxx事件 触发xxx事件
function eventEmmitter() {
this.listeners = {};
}
eventEmmitter.prototype = {
// 监听
on: function(eventName, fn) {
console.log("监听事件");
let arrs = (this.listeners[eventName] = this.listeners[eventName] || []);
let arr = {
handler: fn
};
arrs.push(arr);
return arr;
},
// 触发
trigger: function(eventName, data) {
console.log("触发事件");
console.log(eventName);
console.log(data);
if (this.listeners[eventName]) {
for (var i = 0, len = this.listeners[eventName].length; i < len; i++) {
this.listeners[eventName][i].handler(data);
}
}
}
};
// 实例化
const event = new eventEmmitter();
// 导出
export default event;