VUE-消息的订阅与发布

 在这里通过Home组件和About组件进行记录---home订阅,about发送

一、安装我们所需要的库

npm i pubsub-js 

在这里插入图片描述

二、在两个组件分别引入pubsub

在这里插入图片描述

三、在home中进行订阅

pubsub.subscribe("demo",function(){
      console.log("触发订阅");
    })

···
subscribe是订阅消息,需要两个参数,第一个是订阅名称,第二个是回调函数,即触发订阅后执行
···
在这里插入图片描述

四、在about中进行发布

pubsub.publish("demo",666)
publish即是发布订阅的方法,需要两个参数,第一个是订阅名,第二个是发布的数据

在这里插入图片描述

五、暂看效果

点击后触发
在这里插入图片描述

六,订阅方接受数据

pubsub.subscribe("demo",
    function(name,info){
      console.log("触发订阅,名称是",name,"数据是",info);
    })
订阅方的回调函数两个参数,第一个是订阅消息的名字,第二个是发布方提供的数据

在这里插入图片描述

七、在订阅消息的组件要销毁时,取消订阅

mounted(){ 
    this.pubid = pubsub.subscribe("demo",
    function(name,info){
      console.log("触发订阅,名称是",name,"数据是",info);
    })
  }, 
  beforeDestroy() {
     pubsub.unsubscribe(this.pubid)
  },
取消订阅是----unsubscribe
使用该方法时不能直接通过订阅信息名取消,而是在订阅消息时就返回一个他的对象,如上方代码中的this.pubid
取消时便用这个取消
这边要着重注意this的指向问题,在订阅时的回调函数,可使用箭头函数处理
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值