事件订阅封装
在开发过程中我们会多次运用到派发器进行跨组件触发方法,这里有封装好的 observer.js 供大家使用,有更好的方法欢迎沟通
//数据结构 let eventList = {} const $on = (eventName,callback)=>{ if(!eventList[eventName]){ eventList[eventName] = []; } eventList[eventName].push(callback); } const $emit = (eventName,params)=>{ if(eventList[eventName]){ let arr = eventList[eventName]; arr.forEach(item => { item(params); }); } } const $off = (eventName,callback)=>{ if(eventList[eventName]){ if(callback){ let index = eventList[eventName].indexOf(callback); eventList[eventName].splice(index,1); }else{ eventList[eventName].length = 0; } } } export default { $on, $emit, $off }