消息订阅与发布(pubsub)
一种组件间通信的方式,适用于任意组件间通信。
使用步骤:
- 安装pubsub:
npm i pubsub-js
- 引入:
import pubsub from 'pubsub-js'
- 接收数据:A组件想接收数据,则在A组件中订阅消息,订阅的回调留在A组件自身。
1
2
3
4
5
6
7methods(){
demo(data){......}
}
......
mounted() {
this.pid = pubsub.subscribe('xxx',this.demo) //订阅消息
} - 提供数据:
pubsub.publish('xxx',数据)
- 最好在beforeDestroy钩子中,用
PubSub.unsubscribe(pid)
去取消订阅。
- 安装pubsub:
例子
B组件是A组件的子组件,B组件向A组件传参
A组件
A组件想要接收数据,需要订阅消息,等B组件消息发布的时候接收,回调留在自身
1 | import pubsub from 'pubsub-js'; |
B组件
B组件发送数据,需要发布消息
1 | import pubsub from 'pubsub-js'; |