我这边测试时发现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
请提供一下完整复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
请问,你这个问题最后解决了吗?我也遇到了同样的问题。。。
使用wx.reLaunch跳转
不是用什么跳转的问题,关键是只有用不存在页面的编译模式才会触发这个函数,普通编译模式找不到页面的时候直接报app.json文件未配置路径,不会触发这个函数