微信小程序目前有以下几种页面跳转方式:
- switchTab : 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
- reLaunch : 关闭所有页面,打开到应用内的某个页面
- redirectTo : 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
- navigateTo : 保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。
- navigateBack : **关闭当前页面,返回上一页面或多级页面。**可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。
getCurrentPages()
返回值为数组PageObject[]
获取当前页面栈。数组中第一个元素为首页,最后一个元素为当前页面。
注意:
不要尝试修改页面栈,会导致路由以及页面状态错误。
不要在 App.onLaunch 的时候调用 getCurrentPages,此时 page 还没有生成。