一、问题描述
1)
tabbar
首页,在onload的时候查询一遍数据,当hasToken
(登录状态变化)为true
的时候,重新查一遍数据;
2)query()
函数放在onload中置只会在进入页面时,执行一次,那么当hasToken=true
时,我需要在onshow中再次执行;
3)但不能直接在onshow中直接放入函数,需要监听hasToken
的变化才执行。否则,会出现每切换一次tab选项卡,都会重新查询;
二、代码实现
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.query();
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
// loginStatus() 是封装的方法,返回值true/false
let hasToken = common.loginStatus();
this.setData({
hasToken
})
// watch函数,写在app.js, 具体代码参考下边的参考文章。。。
app.watch(this, {
hasToken:function(newVal){
if(newVal){
this.query();
}
}
})
},