收藏
回答

navigateBack回退问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug navigateBack 工具 2.2.4 2.2.4

现在,有ABC三个页面,A是首页,B是购物车页面,C是授权登录页面

目前可以实现A->B->C

但是现在想要回退,并且是由C直接到A即首页


各位大神,求解。。。


最后一次编辑于  2018-08-29  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

5 个回答

  • 昊天 Haotian
    昊天 Haotian
    2018-08-30

    wx.navigateBack({

    delta: 2

    })


    2018-08-30
    赞同 5
    回复 5
    • 陈yob
      陈yob
      2018-08-31

      1、wxml


      2、wxss



      3、显示效果,想问下为啥  搜索的 icon  出不来呢? 还望多多指教


      2018-08-31
      回复
    • 昊天 Haotian
      昊天 Haotian
      2018-08-31回复陈yob

      icon的属性 size = 20 不是20px

      2018-08-31
      回复
    • 陈yob
      陈yob
      2018-08-31回复昊天 Haotian

      也一样,有人说是 input 为原生组件,显示层级最高,覆盖了 icon 。我觉得也是


      就是说input会在屏幕的最高层,那这种效果怎么实现呢?  搜索 文字 和图标怎么放到里面呢?


      2018-08-31
      回复
    • 昊天 Haotian
      昊天 Haotian
      2018-08-31回复陈yob

      <input style='padding-left:20px' placeholder='123'>

      <icon type='search' size='20' style='position:absolute;left:0;top:0'></icon>

      </input>




      这个可以的 你试试

      2018-08-31
      回复
    • 陈yob
      陈yob
      2018-08-31回复昊天 Haotian

      好了,谢谢。可是input  不是 icons 的父元素吗? 为啥 input 不用写 relative ? 原生组件 层级高原因?

      2018-08-31
      回复
  • 不以己悲
    不以己悲
    2018-08-29

    你好,getCurrentPages()可以获取页面栈,是类似这种操作吗?



    2018-08-29
    赞同 2
    回复 12
    • 与不停雨
      与不停雨
      2018-08-30

      你好,抱歉,这么久才回复。

      我试过了,你说的这种方法是可以回跳到首页了,但是需2次点击左上角返回按钮,这是为啥?

      能否再指点一下,

      2018-08-30
      回复
    • 与不停雨
      与不停雨
      2018-08-30

      我刚又在手机上试了一下,发现点击2次返回按钮之后就退出小程序了,再次进入时是首页

      2018-08-30
      回复
    • 不以己悲
      不以己悲
      2018-08-30

      你好,wx.navigateBack({

      delta: 1,

      })

      delta是返回页面层级,1是返回上一层,如果从c返回a,可以写成delta:2,

      getCurrentPages()是记录页面栈,有页面栈的生命周期和其他属性,可以进行对应的操作,可以打印getCurrentPages()查看一下,希望能对你有帮助



      2018-08-30
      回复
    • 与不停雨
      与不停雨
      2018-08-30回复不以己悲

      也不可以直接就把delta写成2,因为不一定是从A过来再到B的

      2018-08-30
      回复
    • 与不停雨
      与不停雨
      2018-08-30回复不以己悲

      去掉你之前写的else,便不会点击2次返回按钮之后退出小程序了,但是得点击返回按钮2次,这还是有点问题

      2018-08-30
      回复
    查看更多(7)
  • ' laughing
    ' laughing
    2018-08-29

    购物车跳转授权页面时 使用

    wx.redirectTo()

    2018-08-29
    赞同 1
    回复 8
    • 与不停雨
      与不停雨
      2018-08-29

      那样的话就没有回退的按钮了,就是这个 <

      2018-08-29
      回复
    • ' laughing
      ' laughing
      2018-08-29回复与不停雨

      授权页一般是在底部导航的个人中心页 导航跳转需要wx.switchTab()跳转,没有返回键。

      wx.redirectTo()仅关闭当前页,使返回键回不到此页面,并不影响返回键是否存在。

      你问的可以将想要跳转页面的方法写入onUnload 内也可以实现, 但我觉得这个方法似乎并不太好

      2018-08-29
      回复
    • 与不停雨
      与不停雨
      2018-08-29回复' laughing

      是这样的,授权页是我自己写的一个页面

      2018-08-29
      回复
    • 与不停雨
      与不停雨
      2018-08-29回复' laughing

      我尝试过onUnload,结果还是一样,在购物车页面和授权页面来回跳

      2018-08-29
      回复
    • 与不停雨
      与不停雨
      2018-08-29回复' laughing

      使用redirectTo 跳过去的页面是不带返回按钮的


      2018-08-29
      回复
    查看更多(3)
  • จุ๊บ
    จุ๊บ
    2018-08-29

    判断用户授权,如果用户授权,直接跳到首页,关闭以前的页面

    2018-08-29
    赞同
    回复 4
    • 与不停雨
      与不停雨
      2018-08-29

      就是说用户进入了引导授权页面,但又点击了回退,而此时的前一个页面是购物车页面,购物车又会判断用户是否登录,从而引导授权,如此,就一直在两个页面徘徊

      2018-08-29
      回复
    • จุ๊บ
      จุ๊บ
      2018-08-29回复与不停雨

      你可以这样,当用户点击加入购物车,判断用户是否授权,如果没有,则引导用户授权;如果已经授权,则将物品添加至该用户的购物车

      2018-08-29
      回复
    • 与不停雨
      与不停雨
      2018-08-29

      目前是考虑到用户从购物车进入了引导授权页面,但又没有授权,而是点击了回退按钮的情况,导致购物车和授权一直在切换

      2018-08-29
      回复
    • 终遇你°
      终遇你°
      05-27回复与不停雨

      我也有这种情况,不过我是在当前页面如果没有授权也就是你的购物车出来弹窗,点不点授权就随他咯,不授权一直显示弹窗,授权了就正常显示,就不要跳页面去授权了

      05-27
      回复
  • 与不停雨
    与不停雨
    2018-08-29

    目前是用户首次进入小程序并不会触发授权,我们只是引导授权

    用户进入了购物车页面,也是判断了用户是否登录,才做的引导授权处理,如果用户已经登录,是会跳到首页

    2018-08-29
    赞同
    回复