一种组件间通信的方式,适用于任意组件间通信
使用步骤:
安装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',数据)