- 机型:iPhone XR
- 当前 Bug 的表现(可附上截图)
点击左上角回退按钮在onUnload生命周期中和自定义回退函数goback()中wx.navigateBack()均造成关闭小程序现象。
delta参数的值根据页面栈获取,依旧造成此现象。
- 预期表现
回退至首页,不需要关闭小程序操作。
- 复现路径
- 提供一个最简复现 Demo
代码片段:https://developers.weixin.qq.com/s/MNYtzymR7Z9Y
- 第一页代码
< view class = "intro" >index页面(第一页html)</ view > < button bindtap = 'tiaoz' >跳转</ button > |
// index页面js(第一页js) Page({ data: { }, onLoad: function () { }, tiaoz(){ wx.navigateTo({ url: '../home/index' , }) } }) |
- 第二页代码
< text >home页面(第二页html)</ text > < button bindtap = 'goback' >回退</ button > |
// home页js(第二页js) Page({ goback(){ wx.navigateBack({ delta:10 }) }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { wx.navigateBack({ delta:10 }) }, }) |
麻烦提供下可复现的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)以及出现问题的机型 客户端版本号
https://developers.weixin.qq.com/s/MNYtzymR7Z9Y
这里有执行了导致的
此API不能在onUnload生命周期里面使用?就算在这里用也不应该关闭小程序吧。
wx.navigateBack会触发当前page的unload生命周期,你又在onunload里调用wx.navigateBack,本意就是想搞跨它吧,所以他跨了
没时间来搞垮这个东西!A,B,C,D,E。5个页面,我在D页面要关闭D,C页面并到达E页面,然后在E页面点击左上角回退到B页面,操作页面栈又没用,就只能在onUnload里面调navigateBack回退2级,然后这个东西直接关闭小程序。