1、应用场景:
新增商品订单后,切换到个人中心页面,发现订单数量没有增加,因为此时小程序并没有请求最新的服务器数据
2、解决方法:
我们一般会在onLoad钩子函数之中调用页面的初始化方法,此种方法显然不能满足我们的需求;
所以官方文档提供了另一个钩子函数:onShow;这个方法会在页面展示的时候重新执行,这样就可以解决这个问题
onShow(){//调用函数、方法var that=this;that.function1();}
官方文档:https://developers./miniprogram/dev/framework/app-service/route.html#路由方式
3、以下是在搜集资料时发现onshow可能会导致的问题:
安卓手机的onShow会被触发两次,但在IOS手机中则没有碰到这样的情况(本人未发现这个问题)
另附解决方案:
若方法必须要放到onShow中执行,则可以通过设置开关来避免这个问题
1、在data中定义一个Boolean值:hadOnShow: false
2、在onshow函数中判断这个Boolean值
onShow: function () {let _this = thisif (_this .data.hadOnShow) {return}_this .setData({hadOnShow: true})console.log("onshowing")//调用初始化方法},
如果觉得《微信小程序切换tabbar时数据不刷新问题处理》对你有帮助,请点赞、收藏,并留下你的观点哦!