zhichi_admin 发表于 2016-11-9 16:30:47

微信小程序通知广播模式类,降低小程序开发的耦合度


使用
[*]copy 文件 WxNotificationCenter.js 到你的开发目录中
[*]引入 WxNotificationCenter.js 在你需要的js中<li style="box-sizing: border-box; margin-top: 0.25em;"><pre style="box-sizing: border-box; font-family: Consolas, " liberation="" mono",="" menlo,="" courier,="" monospace;="" font-size:="" 13.6px;="" margin-bottom:="" 16px;="" font-stretch:="" normal;="" line-height:="" 1.45;="" word-wrap:="" padding:="" overflow:="" auto;="" border-radius:="" 3px;="" background-color:="" rgb(247,="" 247,="" 247);"=""><code style="box-sizing: border-box; font-family: Consolas, " liberation="" mono",="" menlo,="" courier,="" monospace;="" font-size:="" 13.6px;="" border-radius:="" 3px;="" word-break:="" normal;="" border:="" 0px;="" display:="" inline;="" overflow:="" visible;="" line-height:="" inherit;="" word-wrap:="" background:="" transparent;"="">var WxNotificationCenter = require("../../WxNotificationCenter/WxNotificationCenter.js");
</code></pre></li><li style="box-sizing: border-box; margin-top: 0.25em;"><p style="box-sizing: border-box; margin-top: 16px; margin-bottom: 16px;"></p></li>


注册通知
// 最好在onLoad中进行
/**
* addNotification
* 注册通知对象方法
*
* 参数:
* name: 注册名,一般let在公共类中
* selector: 对应的通知方法,接受到通知后进行的动作
* observer: 注册对象,指Page对象,可选,不填写的话在remove中会失效
*/

var that = this
WxNotificationCenter.addNotification("testNotificationName",that.testNotificationFn,that)发送通知
WxNotificationCenter.postNotificationName("testNotificationName");

移除通知
// 移除通知在本也完成
WxNotificationCenter.removeNotification("testTabNotificationName",that)特性
[*]支持注册、发送、移除通知
[*]支持传参,字典等
源码分析


<font style="color: rgb(64, 120, 192);">var __notices = [];</font>
[*]存放通知数组
[*]addNotification 注册方法
<font style="color: rgb(64, 120, 192);">* addNotification
* 注册通知对象方法
*
* 参数:
* name: 注册名,一般let在公共类中
* selector: 对应的通知方法,接受到通知后进行的动作
* observer: 注册对象,指Page对象
*/</font>postNotificationName 发送方法

<font style="color: rgb(64, 120, 192);">/**
* postNotificationName
* 发送通知方法
*
* 参数:
* name: 已经注册了的通知
* info: 携带的参数
*/

function postNotificationName(name, info)</font>removeNotification 移除方法
<font style="color: rgb(64, 120, 192);">/**
* removeNotification
* 移除通知方法
*
* 参数:
* name: 已经注册了的通知
* observer: 移除的通知所在的Page对象
*/

function removeNotification(name,observer)</font>



**** Hidden Message *****



Ywenli 发表于 2017-8-23 16:44:11

DDDDDDDDDDDDDDDDDDDDD

D&Y 发表于 2017-8-27 00:22:05

小程序:明道日程管理 [修改]

manlan1 发表于 2017-11-6 10:14:44

小程序谢谢

新一 发表于 2017-11-15 17:38:24

回复回复回复回复回复回复回复回复回复回复回复回复回复回复

靠谱队长 发表于 2018-1-20 16:31:16

回的人少,我来小顶一下

wujita01 发表于 2018-4-14 00:17:48

非常感谢分享

jerry369 发表于 2020-4-9 14:16:41

我有流量,寻求个人游戏开发者合作,有意者联系微信号jim20180688
页: [1]
查看完整版本: 微信小程序通知广播模式类,降低小程序开发的耦合度