1.安装pubsub-js插件
npm i pubsub-js
2.引入
在接收数据和发布数据的组件中分别引入
import pubsub from 'pubsub-js'
3.发布数据
methods: {
sendStudentName(){
pubsub.publish('hello',666)
}
},
4.接收数据
mounted() {
pubsub.subscribe('hello',function(){
console.log('有人发布了hello消息,hello消息的回调执行了')
})
},
function()可以接收到两个参数,一个是方法名,一个是数据
mounted() {
pubsub.subscribe('hello',function(msgName,data){
console.log('有人发布了hello消息,hello消息的回调执行了',msgName,data)
})
},
在组件销毁之前需要取消订阅,每次订阅消息时会收到订阅的ID,需要定义一个ID,通过 ID进行取消订阅
mounted() {
const pubId = pubsub.subscribe('hello',(msgName,data)=>{
console.log('有人发布了hello消息,hello消息的回调执行了',msgName,data)
})
},
beforeDestroy(){
pubsub.unsubscride(this.pubId)
}