收藏
回答

使用wx.scanCode跳转为什么触发原页面onShow?

如题:我在A页面调用wx.scanCode 成功后跳转到B页面 B页面会执行A页面onShow内容

为什么跳转到B页面会执行A页面的onShow

该怎么屏蔽扫码后执行A页面的onShow

回答关注问题邀请回答
收藏

2 个回答

  • 小白ᥬ😂᭄
    小白ᥬ😂᭄
    2021-10-13

    这里触发A页面onShow是没错的。因为扫码页面是微信APP原生页面,调用扫码接口之后,会先触发A页面的onHide(此时A页面隐藏,扫码页面onShow),然后得到结果之后,扫码页面onUnload,A页面onShow,之后才触发scanCode的success,然后才是navigate。

    解决方法就是楼上说的,触发scanCode的时候,设置一个flag,在onShow里面判断这个flag,做区分

    2021-10-13
    有用
    回复 1
    • 潇
      2022-05-31
      有点不对吧, 扫码完成后是先触发success然后才是扫码页面的onShow事件
      2022-05-31
      回复
  • xxxidream
    xxxidream
    2021-10-13

    加一个状态标识吧, 在onShow执行之前返回

    if (this.isScanBack{

       this.isScanBack = false;

       return;

    }

    wx.scanCode 的回调里修改状态值为true


    2021-10-13
    有用
    回复
登录 后发表内容