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

1、应用场景:

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

2、解决方法:

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

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

onShow(){
    //调用函数、方法
    var that=this;
    that.function1();
}

官方文档: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")
   //调用初始化方法
 },


 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值