vue---消息订阅与发布(pubsub)
一种组件间通信的方式,适用于任意组件间通信
使用步骤:
安装pubsub:npm i pubsub-js
引入:import pubsub from 'pubsub-js'
接收数据:A组件想接收数据,则在A组件中订阅消息,订阅的回调留在A组件自身。
订阅消息:
mounted() {
//如果不写this.demo交给vue,那就必须写成箭头函数,不然 this是 undefined,它有一个id,取消订阅必须传
pubsub.subscribe('xxx',this.demo)
}
const pubid = pubsub.subscribe('xxx',this.demo)
}
methods: {
demo(data){
......
}
}
取消订阅:
beforeDestroy(){
PubSub.unsubscribe(pid)
}
提供数据:pubsub.publish('xxx',数据)