最新发现
一、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
2756

被折叠的 条评论
为什么被折叠?



