微信小程序踩坑,有关tabBar的页面跳转不刷新问题
如果你想从一个页面携带参数,跳转到tabBar页面,你就会发现只有第一次跳转的时候,带着参数跳转成功了,第二次页面就不刷新了,这该咋办?因为微信小程序默认把tabBar页面加载到缓存中,下次直接读取,不再重新加载页面。解决办法:
wx.switchTab({
url: "/pages/countTime/countTime",
success: function (e) {
var page = getCurrentPages().pop();
if (page == undefined || page == null) return;
page.onLoad();
}
})
在你需要跳转的页面上加入这一段代码,就ok了,
原理:
switchTab成功跳转后调用success,此时可以拿到跳转后页面的page对象,从而调用页面onLoad方法重载页面;微信后期应该会加相应的参数来决定是否刷新跳转。
第二种办法:在所需要跳转到的tabBar页面中,加入一下方法
onShow:function(e){
this.onLoad();
},
原理:
当switchTab点击过的时候,只有第一次加载数据,第二次点击的时候是不刷新数据的,这个时候只要在需要每次点击都刷新数据的switchTab页的js里加上onShow的方法即可。