uniapp开发app框架在提升开发效率中的独特优势与应用探索
978
2022-10-09
WxNotificationCenter - 微信小程序通知广播模式类,降低小程序之间的耦合度
WxNotificationCenter
WxNotificationCenter - 微信小程序通知广播模式类,降低小程序开发的耦合度
信息
来自微信小程序开发论坛 http://weappdev.com/ 垂直微信小程序开发论坛
版本信息
version 0.1
效果预览
使用
copy 文件 WxNotificationCenter.js 到你的开发目录中 引入 WxNotificationCenter.js 在你需要的js中
var WxNotificationCenter = require("../../WxNotificationCenter/WxNotificationCenter.js");
注册通知
// 最好在onLoad中进行/*** addNotification* 注册通知对象方法* * 参数:* name: 注册名,一般let在公共类中* selector: 对应的通知方法,接受到通知后进行的动作* observer: 注册对象,指Page对象,可选,不填写的话在remove中会失效*/var that = thisWxNotificationCenter.addNotification("testNotificationName",that.testNotificationFn,that)
发送通知
WxNotificationCenter.postNotificationName("testNotificationName");
移除通知
// 移除通知在本也完成WxNotificationCenter.removeNotification("testTabNotificationName",that)
特性
支持注册、发送、移除通知支持传参,字典等
源码分析
var __notices = [];
存放通知数组
addNotification 注册方法 * addNotification * 注册通知对象方法 * * 参数: * name: 注册名,一般let在公共类中 * selector: 对应的通知方法,接受到通知后进行的动作 * observer: 注册对象,指Page对象 */ postNotificationName 发送方法 /** * postNotificationName * 发送通知方法 * * 参数: * name: 已经注册了的通知 * info: 携带的参数 */ function postNotificationName(name, info) removeNotification 移除方法 /** * removeNotification * 移除通知方法 * * 参数: * name: 已经注册了的通知 * observer: 移除的通知所在的Page对象 */function removeNotification(name,observer)
拓展阅读
什么叫做通知广播模式
本类借鉴iOS开发中的NSNotificationCenter的消息模式进行开发
可阅读: 细说KVO & KVC & NSNotificationCenter那些事
通知广播模式的使用场景
多级页面传值
来源
来自微信小程序开发论坛 http://weappdev.com/ 垂直微信小程序开发论坛
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~