找回密码
 立即注册

扫一扫,访问微社区

查看: 11687|回复: 7

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

  [复制链接]

910

主题

1190

回帖

3万

金钱

管理员

论坛管理员

积分
0

突出贡献优秀版主荣誉管理论坛元老

QQ
发表于 2016-11-9 16:30:47 | 显示全部楼层 |阅读模式
使用
  • copy 文件 WxNotificationCenter.js 到你的开发目录中
  • 引入 WxNotificationCenter.js 在你需要的js中
    1. <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");
    2. </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>
    复制代码



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

  11. var that = this
  12. WxNotificationCenter.addNotification("testNotificationName",that.testNotificationFn,that)
复制代码
发送通知
  1. WxNotificationCenter.postNotificationName("testNotificationName");
复制代码


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


  1. <font style="color: rgb(64, 120, 192);">var __notices = [];</font>
复制代码
  • 存放通知数组
  • addNotification 注册方法

  1. <font style="color: rgb(64, 120, 192);">* addNotification
  2. * 注册通知对象方法
  3. *
  4. * 参数:
  5. * name: 注册名,一般let在公共类中
  6. * selector: 对应的通知方法,接受到通知后进行的动作
  7. * observer: 注册对象,指Page对象
  8. */</font>
复制代码
postNotificationName 发送方法

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

  9. function postNotificationName(name, info)</font>
复制代码
removeNotification 移除方法
  1. <font style="color: rgb(64, 120, 192);">/**
  2. * removeNotification
  3. * 移除通知方法
  4. *
  5. * 参数:
  6. * name: 已经注册了的通知
  7. * observer: 移除的通知所在的Page对象
  8. */

  9. function removeNotification(name,observer)</font>
复制代码




游客,如果您要查看本帖隐藏内容请回复



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

245

回帖

63

金钱

新人求带

积分
0
发表于 2017-8-23 16:44:11 | 显示全部楼层
DDDDDDDDDDDDDDDDDDDDD

0

主题

3

回帖

18

金钱

新人求带

积分
0
发表于 2017-8-27 00:22:05 | 显示全部楼层
小程序:明道日程管理 [修改]

0

主题

17

回帖

59

金钱

新人求带

积分
0
发表于 2017-11-6 10:14:44 | 显示全部楼层
小程序谢谢

0

主题

10

回帖

1

金钱

新人求带

积分
0
发表于 2017-11-15 17:38:24 | 显示全部楼层
回复回复回复回复回复回复回复回复回复回复回复回复回复回复

0

主题

42

回帖

437

金钱

新人求带

积分
0
发表于 2018-1-20 16:31:16 | 显示全部楼层
回的人少,我来小顶一下

0

主题

2

回帖

14

金钱

新人求带

积分
0
发表于 2018-4-14 00:17:48 | 显示全部楼层
非常感谢分享

0

主题

222

回帖

509

金钱

新人求带

积分
0
发表于 2020-4-9 14:16:41 | 显示全部楼层
我有流量,寻求个人游戏开发者合作,有意者联系微信号jim20180688
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|微信小程序开发|教程|文档|资源汇总_即速论坛 ( 粤ICP备14097199号-1  

GMT+8, 2024-12-23 22:03 , Processed in 0.139606 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表