app.onPageNotFound事件手机上不触发

发布于 6 年前作者 qjiang20343 次浏览最后编辑 6 年前来自 ask

我这边测试时发现app.js中的onPageNotFound事件在手机上没有触发,在工具有触发,但是在事件中执行wx.redirectTo没有反应,执行wx.switchTab可以跳转,会提示警告‘switchTab before pages are registered.’,而且跳转到首页并没有执行onload事件

onPageNotFound(res) {
      console.log(res)
      if (res.isEntryPage){
          wx.redirectTo({
              url: '/page/home/index/index',
          })
      }else{
          let pages = getCurrentPages();
          if (pages.length){
              wx.showModal({
                  content: '对不起,你访问的页面已消失',
                  cancelText:'返回',
                  confirmText:'去首页',
                  success(res){
                      if(res.confirm){
                          wx.switchTab({
                              url: '/page/home/index/index',
                          })
                      }else{
                          wx.navigateBack()
                      }
                  }
              })
          }
      }
  }

还有一个问题是onPageNotFound事件触发是页面跳转之后还是跳转之前,来判断提示取消之后是否执行wx.navigateBack

2 回复
liangxiuying
liangxiuying1 楼6 年前

请提供一下完整复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

yaoli
yaoli2 楼5 年前

请问,你这个问题最后解决了吗?我也遇到了同样的问题。。。