问题描述:
现在有三个页面 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。 请问还有没有更好的方法,可以直接到,不用闪
var pages = getCurrentPages() //获取加载的页面
var currentPage = pages[pages.length-2] //获取上上个页面的对象
console.log(currentPage);
用返回是做不到的,因为你是先返回了,在去执行onUnload是有延迟的,既然你是要点返回直接到首页的话,就用楼上那个 redirectTo 然后返回里面 onUnload 里面就不写东西,他会直接就是返回到首页的
然后这样操作: page1 通过路由 wx.navigateTo({url: '/pages/page2/page2'})到page2,然后 page2 通过路由 wx.reredirectTo({url: '/pages/page3/page3'})到 page3;( page1 -> page2 -> page3)