收藏
回答

关于路由跳转和onUnload问题?

问题描述:

现在有三个页面 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 个回答

  • 击七兮[Emm]
    击七兮[Emm]
    2020-12-25

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

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

    console.log(currentPage);


    2020-12-25
    有用
    回复 1
    • @T
      @T
      2020-12-25
      这个也试过,但是从其他页面返回到首页的话  wx.switchTab 会更方便。如果有getCurrentPages(),可能会有很多到最后一个页面的方式,有的只需路由2下,有点需要3,4,5,6,下,那这样就很困难了
      2020-12-25
      回复
  • i
W
    i W
    2020-12-25

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

    2020-12-25
    有用
    回复 4
    • @T
      @T
      2020-12-25
      是有 直接返回page1 的按钮的,但是也要考虑到那些不按常规出牌的用户,
      2020-12-25
      回复
    • @T
      @T
      2020-12-25
      考虑到可能会有用户就不点击返回 page1 按钮,而是按手机物理返回键或者页面左上角的返回键,但是我们又不希望用户在返回到上一步去,所以就当他们返回上一页时,直接给他们返回首页
      2020-12-25
      回复
    • i
W
      i W
      2020-12-25回复@T
      我的意思是,你就别用onUnload 了,直接每次打开新页面你的时候用redirectTo ,这样就不会保留当前页面,然后不管他是物理返回,还是左上角返回,都会返回上一页,这样前面页面都删了,只剩下首页了,就返回首页了啊
      2020-12-25
      回复
    • @T
      @T
      2020-12-28回复i W
      但是这样有个问题,就是我面临的。从page1 到 page6,但是page2到page5是可以返回上一页,他需要返回上一页去修改填写东西,但是到了page5提交成功了就去page6,在page6就不希望在返回了。
      2020-12-28
      回复
  • xy
    xy
    2020-12-25

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

    2020-12-25
    有用
    回复 2
    • xy
      xy
      2020-12-25
      page2到page3的时候 使用wx.redirectTo跳转
      2020-12-25
      回复
    • @T
      @T
      2020-12-25回复xy
      我刚试了,还是不行。这样的话假如页面多了还有page4, page5的话,他就会闪前面一个页面
      2020-12-25
      回复
登录 后发表内容
问题标签