> simplifies communication between pages for WeChatApp in JS
>基于微信小程序使用纯js编写的事件通知机制工具
>[https://github.com/tanweijiu/EBus-JS](https://github.com/tanweijiu/EBus-JS)
let EBUS = require('ebus.js');
onLoad: function() {
/**
*为需要注册的事件注册
* @param {String} eventName
* @param {function} func
* @param {any} observer
*/
EBUS.register(this, "自定义事件名字", this.onRecivedEvent/*自定义接受事件*/);
}
onUnload: function() {
/**
*取消注册事件
* 删掉一个事件监听
* 两个参数其中一个不能为空,
* @param {String} eventName 若只有事件名字为空,则删除所有observer下的事件
* @param {any} observer 若只有observer为空,则删除所有名为eventName的事件
* @returns
*/
EBUS.unRegister(this, null);
}
常规发送
/**
* 发送一个事件
*
* @param {String} eventName
* @param {any} data
*/
EBUS.post("自定义事件名字", {/*数据,按需构造数据,不限制*/});
发送一个延迟事件,可以配合getSticky等接口使用
/**
* 发送一个sticky事件,会被先消费一次,然后保存下来,之后能通过getSticky获取
*
* @param {String} eventName
* @param {any} data
*/
EBUS.postSticky("自定义事件名字", {/*数据,按需构造数据,不限制*/});
可以获取到相关名字的已发送事件的最新一份数据
EBUS.getSticky('自定义事件名字');
EBUS.removeSticky('自定义事件名字');
- 发送延迟事件数据(postSticky)
- 删除延迟事件数据(removeSticky)
- 获取延迟事件数据(getSticky)
- ...