const listeners = {};
export default {
// 监听某一个事件
$on(eventName, handler) {
if(!listeners[eventName]) {
listeners[eventName] = new Set();
}
listeners[eventName].add(handler);
},
// 取消监听
$off(eventName, handler) {
if(!listeners[eventName]) return;
listeners[eventName].delete(handler);
},
// 触发事件
$emit(eventName, ...args) {
if(!listeners[eventName]) return;
for(let handler of listeners[eventName]) {
handler(...args);
}
}
}
标签:...,Vue,return,总线,eventName,listeners,handler,事件
From: https://www.cnblogs.com/bingquan1/p/18226046