关于路由跳转和onUnload问题?
发布于 5 年前 作者 panguiying 7792 次浏览 来自 官方Issues

问题描述:

现在有三个页面 page1(page1是tabBar) 、 page2 、 page3;

然后这样操作: page1 通过路由 wx.navigateTo({url: /pages/page2/page2})到page2,然后 page2 通过路由 wx.navigateTo({url: /pages/page3/page3})到 page3;( page1 -> page2 -> page3)。

现在,我在page3页面直接按手机物理返回键(或者 点击page3页面左上角的返回按钮),让路由跳转到page1。

我的做法是在page3的onUnload函数通过路由 wx.switchTab({ url: ’ pages/page1/page1’ })。

这样做有一个问题,就是他会先到 page2闪一下子再到 page1。 请问还有没有更好的方法,可以直接到,不用闪

3 回复

用返回是做不到的,因为你是先返回了,在去执行onUnload是有延迟的,既然你是要点返回直接到首页的话,就用楼上那个 redirectTo 然后返回里面 onUnload 里面就不写东西,他会直接就是返回到首页的

var pages = getCurrentPages()    //获取加载的页面

var currentPage = pages[pages.length-2]    //获取上上个页面的对象

console.log(currentPage);

然后这样操作: page1 通过路由 wx.navigateTo({url: /pages/page2/page2})到page2,然后 page2 通过路由 wx.reredirectTo({url: /pages/page3/page3})到 page3;( page1 -> page2 -> page3)

回到顶部