关于wx.navigateBack导致的Bug求助
发布于 5 年前 作者 ccao 11210 次浏览 来自 问答

问题1:

当前的产品需求是:

首页 -> A页面 -> B页面,B页面执行完操作后,需要跳转到C页面,同时销毁A页面和B页面。

其中首页 -> A页面 -> B页面使用的都是wx.navigateTo,因为需要为用户提供返回的路径。

目前我的问题是,在B页面执行完操作后,使用了wx.navigateBack,delta值为6。

正常返回到了首页,但是立刻执行wx.navigateTo C页面,却不能执行。

B页面部分代码格式如下:

wx.navigateBack({

    delta:6

})

wx.navigateTo({

    url:‘C页面’

})

最终只是返回了首页,却没有跳转到C页面。

问题2:

还有另外一种情况,首页 -> D页面,在D页面onUnload生命周期中调用了如下代码:

wx.navigateBack({

    delta:6

})

按照文档所述,当delta大于页面栈内页面数量时,应当回到首页,而实际情况是,小程序被关闭了,连首页也被销毁了。

希望解答疑问。

3 回复

问题1:navigateBack和navigateTo同时调用,因为都是异步的,会有时序的问题,不建议这样使用。

问题2:已复现,我们会在后续版本修复。

你好,请提供出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

如果首页 是tabBar的  其他不是tabBar的话,那就是B执行完成,跳转C的时候关闭所有非tabBar页面,这样C返回 的话就返回首页了

回到顶部