vue订阅消息和发布消息

        上一个文章我们说到两个组件之间可以利用全局中间组件来实现,其实还有一个更简单的方法可以实现两个组件之间的通信,那就是订阅消息和发布消息。

        顾名思义也知道,需要数据的那个组件来订阅消息就可以了,然后等着那个有数据的组件来发布消息就可以了。理解起来也是很容易的。先画个图演示一波:

 这个图也很清晰的描述了这样一个过程,当然,代码也是很好实现的,也都是键名之意:

        首先得需要一个第三方库,叫pubsub-js

npm i pubsub-js

安装完成之后我们就可以直接使用了

 需要订阅消息的先订阅消息:

import pusub from 'pubsub-js';
export default {
  mounted(){//挂载完成
    //先订阅一个消息
    this.pubid = pusub.subscribe("haha",(xiaoximing,data)=>{
      console.log('消息回调',data);
    })
  },
  beforeDestroy(){
    pusub.unsubscribe(this.pubid)
  }
}

然后等着发送数据的组件来发布:

import pusub from 'pubsub-js';
export default {
  methods:{
    sub(){
      pusub.publish("haha",1);
    }
  }
}

然后来总结一下:

        订阅消息是 pusub.subscribe("订阅消息名称","(回调函数,第一个参数是消息名称,戴第二个参数是传回的数据)=>")

        发布消息是pubsub.publish("订阅消息名称",“要发布的信息数据”); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只爱web的羊驼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值