免费国产欧美国日产_少妇AV一区二区三区无码_蜜桃精品av无码喷奶水小说_jk18禁网站视频_精产国品一二三级产品区别_被夫の上司に犯波多野结衣_78m成人手机免费看_最爽最刺激18禁视频_偷偷色噜狠狠狠狠的777米奇

易優(yōu)GEO 重磅上線 ~ 一站式GEO優(yōu)化工具,讓豆包、文心一言、DeepSeek 在回答中主動(dòng)推薦你的品牌,搶占AI流量入口!  點(diǎn)擊查看

小程序模板網(wǎng)

微信小程序-通知廣播WxNotificationCenter:完成相關(guān)邏輯并通知頁(yè)面刷新數(shù)據(jù) ...

發(fā)布時(shí)間:2018-04-13 15:01 所屬欄目:小程序開(kāi)發(fā)教程
作者:汗青fullstack,來(lái)自授權(quán)地址 

以下兩種場(chǎng)景,在微信小程序官方并沒(méi)有提供類似iOS的NSNotificationCenter 或者 Android的廣播類似的解決方案。

  1. A頁(yè)面 -> B頁(yè)面,B頁(yè)面完成相關(guān)邏輯需要通知A頁(yè)面刷新數(shù)據(jù)(并傳值)
  2. 通知(廣播)已入棧并且注冊(cè)過(guò)通知的頁(yè)面(并傳值)
如果遇到以上的場(chǎng)景,要怎么處理呢?

在github上發(fā)現(xiàn)了WxNotificationCenter,下載地址:https://github.com/icindy/WxNotificationCenter WxNotificationCenter借鑒iOS開(kāi)發(fā)中的NSNotificationCenter的消息模式進(jìn)行開(kāi)發(fā)
簡(jiǎn)單的說(shuō)WxNotificationCenter是實(shí)現(xiàn)大跨度的通信機(jī)制,可以為兩個(gè)無(wú)引用關(guān)系的兩個(gè)對(duì)象進(jìn)行通信,即事件發(fā)出者和響應(yīng)者可以沒(méi)有任何耦合關(guān)系。

讓我們看看代碼中的使用
  1. 獲取到 WxNotificationCenter 將WxNotificationCenter.js文件加入項(xiàng)目目錄下
  2. 頁(yè)面中導(dǎo)入
    var WxNotificationCenter = require('../../../vendors/WxNotificationCenter.js')
  3. A頁(yè)面的Page生命周期中注冊(cè)、移除通知,及接收通知后響應(yīng)的fuction

    onLoad: function () {
     //注冊(cè)通知
     var that = this
     WxNotificationCenter.addNotification('NotificationName', that.didNotification, that)    
    },
    
    onUnload: function () {
     //移除通知
     var that = this
     WxNotificationCenter.removeNotification('NotificationName', that)
    },
    
    //通知處理
    didNotification: function () {
     //更新數(shù)據(jù)
     this.setData({
    
     })
    },
  4. B頁(yè)面處理完邏輯,發(fā)送通知
    //發(fā)送通知(所有注冊(cè)過(guò)'NotificationName'的頁(yè)面都會(huì)接收到通知)
    WxNotificationCenter.postNotificationName('NotificationName')
如何傳值?

obj 為字符串 或者 對(duì)象

  1. WxNotificationCenter.postNotificationName('NotificationName',obj)
  2. WxNotificationCenter.addNotification('NotificationName', that.didNotification, that)

    didNotification: function (obj) {
      //拿到值obj
    
    },

自己寫(xiě)了個(gè)Demo,感興趣的可以拉一下https://github.com/hanqingman/WxNotificationCenter-Demo



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開(kāi)源 碼云倉(cāng)庫(kù):starfork
本文地址:http://m.szcjxy.com/wxmini/doc/course/23351.html 復(fù)制鏈接 如需定制請(qǐng)聯(lián)系易優(yōu)客服咨詢: 點(diǎn)擊咨詢
在線客服