本文主要是介绍微信小程序 - 如何监听globalData 变量的变化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最新发现
这个才是真正的解决办法啊!
一、app.js中定义watch函数
onLaunch() {// ...
},
watch:function(method){var obj = this.globalData;Object.defineProperty(obj,"hasToken", {configurable: true,enumerable: true,set: function (value) {this._hasToken = value;console.log('是否会被执行2')method(value);},get:function(){// 可以在这里打印一些东西,然后在其他界面调用getApp().globalData.name的时候,这里就会执行。return this._hasToken}})
},
globalData: {hasToken:false
}
二、在需要监听变量的js中使用
我这里是在一个组件中,需要根据是否登录的状态,来进行请求
Component({lifetimes:{attached(){let self = this;app.watch(self.watchBack.bind(self)); // 注意:watchBack后面要重新绑定this,否则下边的this.queryPreset()找不到}},methods:{watchBack(hasToken){if(!hasToken) return;this.queryPreset();},}
})
参考文章:https://www.jb51.net/article/165365.htm
参考文章(监听多个属性):https://www.cnblogs.com/dream-saddle/p/11180053.html
这篇关于微信小程序 - 如何监听globalData 变量的变化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!