wx.navigateBack(OBJECT)在新版基础库中的问题
发布于 6 年前 作者 qiangding 11968 次浏览 来自 问答

安卓的微信最新版本6.5.7中,小程序的wx.navigateBack(OBJECT),

    wx.navigateBack({delta: 5});

失效。必须使用wx.reLaunch(OBJECT)才能跳转去页面。

5 回复

如果当前有1个页面

那么delta:1

你还往哪里回退呢

此时getCurrentPages().length ==1 吧

如果当前有2个页面

那么delta:3

你要退到哪里呢

此时只能退1个页面吧

退了之后只剩1个页面了没法再退了

所以

wx.navigateBack的delta参数 >= getCurrentPages()时都无法跳转。

这个逻辑是对的,没问题.

可能你有些页面是使用的redirectTo重定向过去的,这种方式过去的页面其实是在同一个页面内的

之前是没有wx.reLaunch的函数的,返回到页面栈的第一个,我是用navigateBack方法,上面也写到:返回的页面数,如果 delta 大于现有页面数,则返回到首页。然而在新的基础库, delta 大于现有页面数,根本无法跳转。

我页面是用navigateTo跳转的。

redirectTo的应该也是会出现这种情况的。

页面跳转问题已经解决了,但是这个本是在低版本基础库下可行的,却在高版本基础库上有问题,这有点说不过去~线上的版本在更新微信版本后就跳转不了啦。憋屈。

你的页面是navigateTo还是redirectTo过去的?

补充一下,wx.navigateBack的delta参数 >= getCurrentPages()时都无法跳转。

暂时以这种方式解决:

wx.navigateBack({

    delta: getCurrentPages().length - 1,

});

回到顶部