在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位置上的,没有再上一层了,不知道我的理解对不。不知道官方支持这种写法不?
你好,问题未复现。请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
从个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); }, |