微信小程序切换tabbar时数据不刷新问题处理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/a736755244/article/details/102739442

1、应用场景:

新增商品订单后,切换到个人中心页面,发现订单数量没有增加,因为此时小程序并没有请求最新的服务器数据

2、解决方法:

我们一般会在onLoad钩子函数之中调用页面的初始化方法,此种方法显然不能满足我们的需求;

所以官方文档提供了另一个钩子函数:onShow;这个方法会在页面展示的时候重新执行,这样就可以解决这个问题

官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/route.html#路由方式

3、以下是在搜集资料时发现onshow可能会导致的问题:

安卓手机的onShow会被触发两次,但在IOS手机中则没有碰到这样的情况(本人未发现这个问题)

另附解决方案:

若方法必须要放到onShow中执行,则可以通过设置开关来避免这个问题

1、在data中定义一个Boolean值:hadOnShow: false

2、在onshow函数中判断这个Boolean值

onShow: function () {
   let _this = this
   if (_this .data.hadOnShow) {
     return
   }
   _this .setData({
     hadOnShow: true
   })
   console.log("onshowing")
   //调用初始化方法
 },


 

猜你喜欢

转载自blog.csdn.net/a736755244/article/details/102739442