文章预览
一、理解
- 这种方式的思想与全局事件总线很相似
- 它包含以下操作:
(1) 订阅消息 --对应绑定事件监听
(2) 发布消息 --分发事件
(3) 取消消息订阅 --解绑事件监听 - 需要引入一个消息订阅与发布的第三方实现库: PubSubJS
其实有许多这种消息订阅与发布的js,每种js知识语法不同,这里以punsub.js
为例
二、使用PubSubJS
- 在线文档: https://github.com/mroderick/PubSubJS
- 下载: npm install -S pubsub-js
- 相关语法
import PubSub from 'pubsub-js' // 引入
var token = PubSub.subscribe(‘msgName’, functon(msgName, data){ })
PubSub.publish(‘msgName’, data): 发布消息, 触发订阅的回调函数调用
PubSub.unsubscribe(token): 取消消息的订阅
// 创建一个订阅主题的函数
var mySubscriber = function (msg, data) {
console.log( msg, data );
};
// 将该函数添加到特定主题的订阅者列表中
// 我们保留返回的令牌,以便稍后能够取消订阅
var token = PubSub.subscribe('MY TOPIC', mySubscriber);
// publish a topic asynchronously
PubSub.publish('MY TOPIC', 'hello world!');
// 同步发布一个主题
PubSub.publishSync('MY TOPIC', 'hello world!');
token是订阅消息产生的