当前位置: 代码网 > 移动>腾讯>微信 > 微信小程序之页面路由知识点总结

微信小程序之页面路由知识点总结

2025年03月30日 微信 我要评论
本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了关于页面路由的相关内容,路由是指分组从源到目的地时,决定端到端路径的网络范围的进程,下面就一起来看一下,希望对大家有帮助。【相关学习推荐:微

本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了关于页面路由的相关内容,路由是指分组从源到目的地时,决定端到端路径的网络范围的进程,下面就一起来看一下,希望对大家有帮助。

微信小程序之页面路由知识点总结

【相关学习推荐:微信小程序】

什么是路由?

路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程。我们可以理解微信小程序页面路由,根据路由规则(路径)从一个页面跳转到另一个页面的的规则。

一、哪些会触发页面跳转

  1. 小程序启动,初始化第一个页面
  2. 跳转新页面,调用wx.navigateto 或者
  3. 页面重定向,调用wx.redirectto 或者
  4. 页面返回,调用wx.navigateback ,页面左上角返回按钮
  5. wx.switchtab实现tabbar页面切换

tips: 所有页面都必须在app.json中注册,例如

{
    "pages": [
        "pages/index/index",
        "pages/classification/classification",
        "pages/start/start",
        "pages/detail/detail",  
    ]
}
登录后复制

二、微信小程序中实现页面路由的几种方式

  1. wx.navigateto,保留当前页面,跳转到应用内的某个页面,但是不能跳到 tabbar 页面
wx.navigateto({
  url: 'pages/detail/detail',
  success: function(res) {},
  ...
})
登录后复制
  1. wx.redirectto,关闭当前页面,跳转到应用内的某个页面,但是不允许跳转到 tabbar 页面
wx.redirectto({
  url: 'pages/detail/detail',
  success:function(res){},
  ...
})
登录后复制
  1. 组件跳转方式
<navigator url=pages/detail/detail">跳转</navigator>
登录后复制
  1. wx.navigateback返回上一页
wx.navigateback({
	delta: 1,
})
登录后复制

tips: delta为1时表示返回上一页,为2时表示上上一页,以此类推;如果dalta大于已打开的页面总数,则返回到首页。返回后,元界面会销毁

  1. wx.switchtab跳转到 tabbar 页面,并关闭其他所有非 tabbar 页面
    app.json:
{
  "tabbar": {
    "list": [{
        "pagepath": "pages/index/index",
        "text": "首页",
    },
    {
        "pagepath": "pages/car/car",
        "text": "购物车",
      },
   ...
  }
}
登录后复制

index.js:

wx.switchtab({
  url: 'pages/car/car'
})
登录后复制

三、小程序路由实现原理

小程序路由是通过自己实现的一个栈(先进先出)来管理的。

当我们通过wx.navigateto或者从a页面跳转到b页面时。路由栈的变化是这样的。

路由栈刚开始只存有页面a,当使用wx.navigateto跳转后,页面b推入路由栈并展示到界面上,页面a隐藏。

当我们使用wx.navigateback返回时

那么wx.redirectto与wx.navigateto有什么区别呢?

假如当前已经在二级页面b上,我们使用wx.redirectto跳转到c页面,其过程是这样的。

如当前已经在二级页面b上,我们使用wx.redirectto跳转到c页面,其过程是这样的。
[外链图片转存中…(img-mkpnbkug-1650431194878)]

页面b会被pop出,然后c页面再push进入栈,这个时候栈中还是只有两个页面。

【相关学习推荐:微信小程序】

以上就是微信小程序之页面路由知识点总结的详细内容,更多请关注代码网其它相关文章!

(0)

相关文章:

  • 微信小程序实战项目之富文本编辑器实现

    本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了关于富文本编辑器的实战示例,包括了创建发布页面、实现基本布局、实现编辑区操作栏的功能等内容,下面一起来看一下,希望对大家…

    2025年03月30日 腾讯
  • 归纳整理微信小程序常用表单组件

    本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了一些常用表单组件,包括了button、checkbox、input、label等等相关问题,下面一起来看一下,希望对大家…

    2025年03月30日 腾讯
  • 微信小程序中textarea与input的问题总结

    本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了关于小程序中textarea与input的问题总结,这两个组件单独只用一个时,是没有什么问题的,但是当他们两个一起出现时…

    2025年03月30日 腾讯
  • 浅析微信小程序中自定义组件的方法

    浅析微信小程序中自定义组件的方法

    微信小程序中怎么自定义组件?下面本篇文章给大家介绍一下微信小程序中自定义组件的方法,希望对大家有所帮助!在微信小程序开发过程中,对于一些可能在多个页面都使用的页... [阅读全文]
  • 微信小程序自动化部署

    本篇文章给大家带来了关于微信小程序的相关内容,其中主要介绍了微信小程序自动化部署的相关问题,日常开发微信小程序的流程是比较繁琐的,自动化部署流程可以缩减这个流程,下面一起来看一下,…

    2025年03月30日 腾讯
  • 微信小程序开发底部导航

    微信小程序开发底部导航

    微信小程序开发简介:一套软件的应用架构包括数据层、业务逻辑层、服务层、控制层、展示层、用户等多个层次。主配置文件app.json:主配置文件app.json位于... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com