消息的订阅与发布实现的功能和全局事件总线是一样的,但是我们想要使用消息订阅与发布需要引入第三方库。
npm i pubsub-js
使用pubsub之前需要对pubsub进行引入。
使用方法和Vue全局事件总线类似,不过绑定自定义事件变为了订阅消息,触发自定义事件变为了发布消息。
pubsub.subscribe("消息名称", 消息回调函数); // 订阅消息
pubsub.publish("消息名称", option); // 消息发布,option是参数
注意:订阅消息时,回调函数中涉及到this的指向问题必须使用箭头函数!
取消订阅的时候,并不像取消自定义事件那样使用 $off("事件名称") 进行解绑。
我们在订阅消息的时候会收到一个pid,我们解绑的时候是通过pid去进行解绑:
pubsub.unsubscribe(this.pid);