自定義非父子組件傳值
阿新 • • 發佈:2018-07-11
每一個 lba default kit ons urn 保存 map efault
const center = {};
center.on = function(eventName, callback){ if(!center[eventName]){ center[eventName] = []; } //保存回調函數 center[eventName].push(callback); }
center.emit = function(eventName, params){ //取出對應事件的回調函數 let callbackArr = center[eventName]; //一一調用每一個回調事件 callbackArr.map((callback)=>{ callback(params); }) }
center.off = function(eventName, callback){ //情況1:只傳eventName,移除所有事件 //情況2:傳eventName和callback if(!callback){ center[eventName] = null; } else{ let callbackArr = center[eventName]; //刪除指定的callback回調 let result = callbackArr.filter(callbackItem=>{ if(callback == callbackItem){ return false; } else{ return true; } }) //重新賦值 center[eventName] = result;
} }
export default center;
center.on = function(eventName, callback){ if(!center[eventName]){ center[eventName] = []; } //保存回調函數 center[eventName].push(callback); }
center.emit = function(eventName, params){ //取出對應事件的回調函數 let callbackArr = center[eventName]; //一一調用每一個回調事件 callbackArr.map((callback)=>{ callback(params); }) }
center.off = function(eventName, callback){ //情況1:只傳eventName,移除所有事件 //情況2:傳eventName和callback if(!callback){ center[eventName] = null; } else{ let callbackArr = center[eventName]; //刪除指定的callback回調 let result = callbackArr.filter(callbackItem=>{ if(callback == callbackItem){ return false; } else{ return true; } }) //重新賦值 center[eventName] = result;
} }
export default center;
自定義非父子組件傳值