一、一种组件间通信的方式,适用于任意组件间通信。
二、使用步骤:
- 安装 pubsub:
npm i pubsub-js
- 引入:
import pubsub from 'pubsub-js'
- 接收数据:A组件想接收数据,则在A组件中订阅消息,订阅的回调在A组件中
methods() {getData(msgName, data) {....}// msgName 消息名称// data 接收传过来的数据
}
...
mounted() {this.pId = pubsub.subscribe('xxx', this.getData) // 订阅消息
}
- 提供数据:
// B 组件
methods() {sendData() {PubSub.publish('xxx', [要传递的数据])}
}
- 最好在 beforeDestory 钩子中,用
PubSub.unsubscribe(pid)
去取消订阅