小程序 监听(watch)全局的 参数

因为小程序是没有 watch 函数的所以需要自己写
 

一、在 app.js 页面 

  globalData: {
    platformType: true,
  },
    // 修改全部中参数的方法
  setGlobalData(object) {
    for (const key in object) {
      if (object.hasOwnProperty(key)) {
        this.globalData[key] = object[key]
      }
    }
  },
 // 监听方法
  watch: function (method, isstr) {
    var obj = this.globalData;
    Object.defineProperty(obj, isstr, {
      configurable: true,
      enumerable: true,
      set: function (value) {
        this._platformType = value; 
        method(value);
      },
      get: function (value) {
        return obj._platformType === false ? false : true
      }
    })
  }

二、在想监听的页面 js 中写

//先导入 app
const app = getApp()

// 然后在 attached 或者 onLoad 写
    this.setData({
         'platformType': app.globalData.platformType
    })
    let self = this
    app.watch(self.watchBack, 'platformType')


// 然后写 watchBack 进行监听
  watchBack: function (value) {
    this.setData({
      'platformType': value
    })
  },

三、 在监听的页面中 修改 全局的参数

  app.setGlobalData({
            "platformType": !this.data.platformType
          })

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值