我在看vue的响应式原理的时候, 接触到了发布订阅模式这个词,特意搜索相关文件,写一下总结,如
果觉得哪里不对的话,各位多多指点,我们共同进步~
订阅发布模式由三部分构成
1:订阅者
2:事件中心
3:发布者
发布者发布消息给 事件中心 事件中心通知所有的订阅者
在 vue中, 兄弟组件通信 的 中央 bus方法就是这种思想,接下来上代码
// 事件中心 (就是vue的实例) 在单独的文件中创建此实例;比如
// 在bus.js 文件中,并且暴露 (记得暴露,不然其他组件收不到此实例)
let eventBus = new Vue()
export default eventBus
// 在我们需要发布消息的组件中引入 eventBUs,也就是vue的这个实例,可以调用这个实例上的$emit方法,发送小消息
import eventBus from '@bus.js'
addToto(){
// 发布消息事件
eventBus.$emit('add-todo',{
name:'xiaogao'