微信小程序监听全局数据变量globalData

微信小程序监听App中的globalData——全局数据监听

1.在app.js中定义监听方法
 

// app.js
App({
  //全局变量
  globalData: {
    loginAlert:false
  },

  /**
   * 定义监听全局变量
   * @param {*} variate:变量名称
   * @param {*} method:监听的其它页面方法回调 
   */
  watch(variate,method){
    var obj = getApp().globalData
    var val = obj[variate]
    //监听数据
    Object.defineProperty(obj,variate,{
      set:value=>{
        val = value
        method(variate,value)
      },
      get:()=>{
        return val
      }
    })
  }
})


2.注册监听方法
在需要监听的组件中注册app().watch 方法

// components/login-alert/login-alert.js
const app = getApp()
Component({

  /**
   * 组件的属性列表
   */
  properties: {

  },

  /**
   * 组件的初始数据
   */
  data: {
    show:false
  },

  lifetimes:{
    attached(){
      //注册监听全局登陆窗口弹出参数
      app.watch('loginAlert',()=>{
        this.setData({
          show:app.globalData.loginAlert
        })
      })
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {

  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值