react和vue使用pubsub库实现兄弟传值

9 篇文章 0 订阅

pubsub,即订阅发布,在vue和react中常常被用于任意组件间的传值。

例如:订阅报纸:

        1,交钱,说好地址,订阅哪一种报纸

        2,邮递员送报纸

本文主要简述pubsub的基本使用流程。

1.在终端进行pubsub的安装

npm i pubsub-js

2.在需要进行传值的位置引入pubsub

import PubSub from 'pubsub-js'

3.订阅操作:

需要接收值的组件中,在mounted钩子函数中进行订阅(subscribe),并将接收到的值作为参数传递到本组件中指定的方法中:

例:下面代码中,subscrib方法e的第一个参数(yyds)为订阅名,第二个(getmes)为接收数据的方法。这里定义pid是为了方便未来进行取消订阅的操作。

methods(){
  getmes(_,res){ alert(res) }		//接收数据的方法,它的参数第一个为接收的订阅名,不需要调用,可直接用_来占位,避免eslint报错。第二个为传来的数据,当传有多个数据时,可用一个对象来传递。
}
......
mounted(){
		this.pid=PubSub.subscribe("yyds",this.getmes)		//订阅消息,这里定义变量pid是为了方便未来取消订阅
}

4.传值操作:

在需要传值的组件中,进行信息的发布(publish):

publish方法的第一个参数(yyds)为订阅名,第二个参(message1)为想要传递的变量。

PubSub.publish('yyds','message1')		//通过事件触发方法发布信息‘message1’

这样,传递过来的message1便能够在订阅的组件中接收并使用了。

5.最好在beforeDestroy钩子中,用PubSub.unsubscribe(pid)去取消订阅。

以上就是订阅发布pubsub的基本使用了,react同样可以使用

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Z_Xshan

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值