class Bus{
constructor (props) {
this.events = {} //定义一个容器
}
$emit(eventType, arg) {
//发布
this.events[eventType].forEach(val => {
val(arg) //执行每个回调函数
})
}
$on(eventType, cbk) {
//订阅
if (!this.events[eventType]) {
//如果容器里没有,则加到events对象里
this.events[eventType] = [cbk]
} else {
//如果容器里有这个方法,则追加到数组里
this.events[eventType].push(cbk)
}
}
}
export default Bus
封装发布订阅实现组件传参
最新推荐文章于 2022-10-23 23:05:50 发布