在onUnload周期函数中调用wx.navigateBack()方法返回的tab页面,会导致小程序在真机上面直接崩溃,在模拟器上的表现是调用了两次onShow(),
onUnload() { wx.navigateBack({ delta: 2, }) } |
使用wx.switchTab才解决
onUnload() { wx.switchTab({ url: '/pages/cart/index', }) } |
直接崩溃这个就不应该了 @官方

请问这个问题现在解决了吗?我也遇到了
请问楼主,你这个问题解决了吗? 首先我提个建议:onUnload() 这个函数已经有一层返回到上一页的动作,然后你再用wx.navigateBack的话就会以上一页 为基础返回到某一个页面,然后写的delta是2的话是不是多返回了一层,而你那个页面又是tab页,tab页一般是在页面栈的0位置上的,没有再上一层了,不知道我的理解对不。 不知道官方支持这种写法不?
你好 请问这个崩溃是小程序 ,还是整个微信客户端?
是小程序崩溃
从个tabbar页面A跳转到非tabbar页面B,跳转方式如下:
<navigator url="/pages/address/index"hover-class="className"><view>to address</view></navigator>在页面B中的onUnload周期函数中调用wx.navigateBack:
Page({onUnload() {wx.navigateBack({delta: 2});}});然后页面A的onShow周期函数会执行两次:
onShow:function() {// 显示/切入前台时触发console.log(this.route);},你好,问题未复现。请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
我这里写了一个简单的demo也复现了,跳转方式使用的是
<navigator url="/pages/address/index"hover-class="className"><view>to address</view></navigator>麻烦按照教程提供下代码片段,谢谢
代码片段:wechatide://minicode/U45EdKm8732y
index中的onShow执行了两次,(返回后打印了两次console)
好的,反馈已收到,我们这边看下