1.0.1 • Published 5 years ago

wx-notification-center v1.0.1

Weekly downloads
3
License
ISC
Repository
github
Last release
5 years ago

WxNotificationCenter

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

信息

来自微信小程序开发论坛 http://weappdev.com/ 垂直微信小程序开发论坛

版本信息

version 0.1

效果预览

WxNotificationCenter效果预览gif

使用

  1. copy 文件 WxNotificationCenter.js 到你的开发目录中

  2. 引入 WxNotificationCenter.js 在你需要的js

    var WxNotificationCenter = require("../../WxNotificationCenter/WxNotificationCenter.js");
  3. 注册通知

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

    var that = this WxNotificationCenter.addNotification("testNotificationName",that.testNotificationFn,that)

  1. 发送通知

    WxNotificationCenter.postNotificationName("testNotificationName");
  2. 移除通知

    // 移除通知在本也完成
    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)
    	```

拓展阅读

  • 通知广播模式的使用场景

  • 多级页面传值

来源

来自微信小程序开发论坛 http://weappdev.com/ 垂直微信小程序开发论坛