vue和reacrt都可以使用;
下载 终端输入: npm i pubsun-js
cnpm i pubsub-js
他可以实现兄弟组件之间的通信,但也是第三方库,发布者发布给第三方,订阅者通过第三方获取到数据,代码是见不到第三方的,
使用方法:
不管是发布者还是订阅者 都需要引入 :
订阅者 import {subscribe} from ‘pubsub-js’
发布者 import {publish} from ‘pubsub-js’
ps:也可以直接引入整个库 。里边有第三方库的所有方法,下边console打印如下
import 'PubSub' from 'pubsub-js'
订阅者 :
简单来说,需要数据一方就订阅者,数据所在一方就发布者;
订阅者需要传入两个参数,第一个参数为当前订阅名,发布者通过这个名字发布数据,
第二个参数为回调函数 用来接受参数 回调函数接收两个参数,第一个为当前订阅名,没什么用 一般用占位符“_”来占用这个位置
PubSub.subscribe(‘订阅名’,(_,数据)=>{
这里可以保存数据到当前组件的状态
})
发布者:
PubSub.publish(‘订阅名’,'所要传给订阅者的数据')
解绑 :
订阅完数据记得解除绑定 一般在订阅者组件解除绑定,
三种方法 :
例:let a = PubSub.subscribe(‘订阅名’,(_,数据)=>{})
第一种:按照声明的变量名来解除绑定
PubSub.unsubscribe(a)
第二种:用订阅名来解除绑定
PubSub.unsubscribe('订阅名')
第三种:解绑所有订阅者
this.clearAllSubscriptions()
以上就是订阅发布的使用方法 vue和react都可以使用的第三方库