评论

小程序路由的跳转

解决实践中遇到的一些问题

在微信小程序实战视频中(https://developers.weixin.qq.com/community/business/doc/00008c2f9d83a040de5ad3a945b80dw ),由于编写注册页面代码时,视频仅仅是使wx.navigateBack调回上n级页面:(delta表示第几级,例:1表示上一级)

但是在登录页面由于是自己完成的小作业,而且作为登录页面,逻辑上先于注册页面出现,注册页面自然也就不是登录页面的上一级页面,所以我把目光放在了wx.redirectTo,如下:

但是出现了如下bug,页面not found:

根据报错信息,我们可以看到url:pages/login/pages/enroll/enroll,这是为什么呢?我明明写的是pages/enroll/enroll为什么前面还多了个前缀?

原来这个是作为相对路径寻找页面的,而我写的确实绝对路径,自然出现bug。

那好,我现在修改好了,总不会出bug了吧。

确实,我可以正确跳转到了注册页面,那我们再点击返回登录页面试试?然后,没错,又出bug了,如下:

找不到前一个页面?明明我是从登录页面过来的,怎么会找不到前一个页面呢?然后我去看了一些微信开发者文档https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.navigateBack.html

查询了wx.navigateBack的相关信息,如下:

原来,使用wx.redirectTo并不会把前一个页面保存到堆栈,而wx.navigateBack是从堆栈中寻找先前页面,自然也就找不到先前页面

所以,我改用了wx.navigateTo函数,不出意料,这次成功了

反复横跳,流畅无比,哈哈。

感谢各位观看,期待下次再见。

如果觉得写得还不错,可以给文章点个赞哦~

最后一次编辑于  2021-11-15  
点赞 7
收藏
评论

6 个评论

  • 晨曦
    晨曦
    2021-11-15

    写得不错,感觉学得很认真!有些细节我之前都没有注意到。继续加油!

    2021-11-15
    赞同 3
    回复 1
    • Lanh
      Lanh
      2021-11-15
      加油
      2021-11-15
      3
      回复
  • TYXX
    TYXX
    2021-11-16

    确实是值得注意的点~

    2021-11-16
    赞同 1
    回复
  • Smooth
    Smooth
    2021-11-16

    总结的不错~已赞

    2021-11-16
    赞同 1
    回复
  • 知非
    知非
    2021-11-15

    感觉看视频教程和文档好认真啊,有学到路由跳转的知识,期待下篇文章!

    2021-11-15
    赞同 1
    回复 2
    • Lanh
      Lanh
      2021-11-15
      非常感谢
      2021-11-15
      2
      回复
    • 知非
      知非
      2021-11-15回复Lanh
      不客气,一起学习进步~
      2021-11-15
      1
      回复
  • PD
    PD
    发表于移动端
    2021-11-18
    很细节,感觉学到了
    2021-11-18
    赞同
    回复
  • 谋谋谋
    谋谋谋
    2021-11-16

    社区大佬真多 我算是学到了

    2021-11-16
    赞同
    回复
登录 后发表内容