消息订阅与发布也是实现组件间数据传递的一种实现方式,这里主要依赖于 pubsub-js库,首先需要安装该库。
npm i pubsub-js
再在需要的组件上引入该库
import pubsub from 'pubsub-js'
接下来进行消息订阅与发布:
//接收数据的组件
this.pubid = pubsub.subscribe('baci',(a,b)=>{
console.log('baci done',b);
})
//传递数据的组件
sendstudentname(){
pubsub.publish('baci',666);
}
//销毁消息订阅
beforeDestroy(){
pubsub.unsubscibe(this.pubid)
}
需要注意的是,接收数据的回调函数的首个参数为订阅事件的事件名而不是传递的数据,传递的数据为第二个形参。
欢迎指正!