/* 数据结构
object = {
event1:[ eventFn1,eventFn2, ... ] ,
event2:[ eventFn1,eventFn2, ... ] ,
event3:[ eventFn1,eventFn2, ... ] ,
event3:[ ] ,
}
*/
var object = {}
const $on = (name,cb)=>{
if(!object[name]){
object[name] = [];
}
object[name].push(cb);
}
const $emit = (name,...params)=>{
if(object[name]){
object[name].forEach(cb=>{
cb(...params)
})
}
}
const $off = (name,cb)=>{
if(object[name]){
if(cb){
let flag = object[name].includes(cb);
if(flag){
let index = object[name].indexOf(cb);
object[name].splice(index,1);
}
}else{
object[name].length = 0;
}
}
}
export default {
$on,
$emit,
$off
}
事件订阅发布模式
最新推荐文章于 2024-02-24 13:40:39 发布