问题模块 | 框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
API和组件 | 小程序 | Bug | offAppHide | 工具 | 1.02.1904090 | 2.6.1 |
在App.js的onLaunch方法中写了两个方法,一个wx.onAppShow,一个wx.onAppHide,在wx.onAppShow的监听方法中执行了wx.offAppHide方法
按照预想,进行前后台切换,会先触发一次小程序切后台事件,然后再触发小程序切前台事件,这个时候会触发wx.offAppHide方法取消掉对切后台事件的监听,所以后面切后台并不会进行触发回调事件
//app.js
App({
onLaunch: function() {
wx.onAppShow(function(e){
if (e.scene==1001){
wx.offAppHide(function(){
})
}
})
wx.onAppHide(function(){
console.log('111');
})
}
})
网友回复
戴文亮?:
我这里测试没问题。
首先,你的代码有 bug,在你首次打开的时候,wx.onAppShow 的回调函数会晚于 wx.onAppHide,所以你的 wx.onAppHide 压根是没用的。
其次,你要注意 e.scene 是否真的是 1001。
娇华:
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)