const list={} // 将事件名和事件函数装进事件池里 function $on(name,func) { if(!name || !func) return; if(!Object.keys(list).includes(name)){ list[name]=func; } } // 根据事件名称搜索事件池 找到执行 function $emit(name,...arg) { if(!name) return; if(Object.keys(list).includes(name)){ list[name](...arg) } } // 执行完并且不在需要后 清除事件 function $off(name) { if(!name) return; if(Object.keys(list).includes(name)){ list[name]=null; delete list[name] } } export { $on, $emit, $off, }
原文地址:https://www.cnblogs.com/ayujun/p/12078334.html
时间: 2024-08-03 18:58:14