概述
/* 数据结构
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
}
最后
以上就是深情悟空为你收集整理的事件订阅发布模式的全部内容,希望文章能够帮你解决事件订阅发布模式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复