如题:我在A页面调用wx.scanCode 成功后跳转到B页面 B页面会执行A页面onShow内容
为什么跳转到B页面会执行A页面的onShow
该怎么屏蔽扫码后执行A页面的onShow
网友回复
小白ᥬ😂᭄:
这里触发A页面onShow是没错的。因为扫码页面是微信APP原生页面,调用扫码接口之后,会先触发A页面的onHide(此时A页面隐藏,扫码页面onShow),然后得到结果之后,扫码页面onUnload,A页面onShow,之后才触发scanCode的success,然后才是navigate。
解决方法就是楼上说的,触发scanCode的时候,设置一个flag,在onShow里面判断这个flag,做区分
xxxidream:
加一个状态标识吧, 在onShow执行之前返回
if (this.isScanBack) {
this.isScanBack = false;
return;
}
wx.scanCode 的回调里修改状态值为true