微信小程序 wx.navigateBack(OBJECT) 使用方法详解
官方文档
关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
参数

示例代码

实际使用
先看图:

当连续的使用 wx.navigateTo 跳转页面之后,最多是跳转10次,再调用就不生效了。
一方面是缓存有限制,另一方面也是要求我们合理的利用缓存吧。
那么如何跳转到之前打开的某个页面呢?
通过官方文档,我们知道传递的参数有一个 delta 属性,是一个数字,应该如何确定这个数字呢?
首先我们输出 getCurrentPages() ,看看里面都有什么;
我注意到,有一个 route 属性,有了这个就好办了!
我们可以根据要跳转的页面的URL和页面栈中每一页的 route 属性对比,来计算 delta 的值。
依赖的数据
原文:https://blog.csdn.net/testcs_dn/article/details/84971217

从上面的代码可以看到,使用 listInfo 数组记录每一个页面的URL地址;
实际调用

实际调用中,首先获取页面栈,进行一个倒序的遍历;也就是先进后出,后进先出。
如果栈中存在,就返回到已经打开的页面 wx.navigateBack;
如果不存在,就导航到新页面 wx.navigateTo。
还有没有更好的实现方式呢?欢迎各位看官指教!
网友评论