微信小程序 onShow存在的隐患

问题说明:

开发微信小程序的时候,发现安卓手机的onShow会被触发两次,但在IOS手机中则没有碰到这样的情况。

解决方案:

一、将方法放到onload中执行

二、设置开关

若方法必须要放到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")
    _this .getOrderList();
  },

这样就避免了onShow在安卓系统中执行两次的问题

原文地址:https://www.cnblogs.com/WQLong/p/11310314.html