• 微信小程序:12.页面导航


    什么是页面导航

    页面导航指的是页面之间的相互跳转。例如,浏览器中实现的页面导航的方式有两种:

    1. 连接
    2. location.href

    小程序中实现页面导航的两种方式

    声明式导航

    在页面上声明一个导航组件
    通过点击组件实现页面跳转

    导航TabBar页面

    是指配置TabBar页面
    在使用组件跳转到指定的tabBar页面,需要指定url属性和open-type属性,其中:

    • url表示要跳转的页面的地址,必须/开头
    • open-type表示跳转方式,必须switchTab

    必须指定open-type属性
    示例代码:

    导航到首页
    
    • 1

    导航到非tabBar页面

    非tabBar页面指的是没有被配置为tabBar的页面
    在组件跳转到普通的非tabBar页面时,则需要指定url和open-type属性

    • url表示要跳转的页面,必须以/开头
    • open-type表示跳转方式,必须是navigate
    非tabBar跳转
    
    • 1

    注意:为了简便,在导航到非tabBar页面时候,open-type可以省略

    后退属性

    如果要后退到上一页或者多级页面,则需要指定opene-type属性和delta属性,其中:

    • open-type的值必须是navigateBack,表示进行后退导航
    • delta的值必须是数字,表示要后退的层数
    
    返回上一级目录
    
    • 1
    • 2

    注意:如果知识后退到上一页面,则可以省略delta属性,因为默认值就是1

    声明式导航传参

    navigator组件url属性用来指定将要跳转到的页面的路径。同时,路径的后面还可以携带参数

    • 参数和路径之间使用?分割
    • 参数键与参数值用=相连
    • 不同参数用&分割
    跳转到info目录进行穿参数
    
    • 1

    编程式导航

    调用小程序的导航API,实现页面的跳转

    导航到tabBar页面

    调用wx.switchTab(Object object)方法,可以跳转到tabBar页面。其中参数对象的属性列表如下:
    CleanShot 2024-04-24 at 00.04.10@2x.png
    示例代码wxml

    
    
    • 1

    js代码如下

     gotoHome(){
        wx.switchTab({
          url: '/pages/home/home',
        })
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5

    导航到非tabBar页面

    调用wx.navigateTo(Object object)方法,可以跳转到非tabBar的页面。其中Object参数对象的属性列表如下:
    CleanShot 2024-04-24 at 00.09.24@2x.png
    wxml代码如下

    
    
    • 1

    js文件如下

      gotoinfo(){
        wx.navigateTo({
          url: '/pages/info/info',
        })
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5

    后退导航

    调用wx.navigateBack(Object object)方法,可以返回上一夜或者多级页面
    CleanShot 2024-04-24 at 00.23.56@2x.png

    
    
    • 1

    js代码如下

    backpage(){
        wx.navigateBack({
          delta:1
        })
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5

    编程导航穿参

    调用wx.navigateTo(Object object)方法跳转页面时,也可以携带参数,代码如下:

    
    
    • 1

    js代码如下

     gotoinfos(){
        wx.navigateTo({
          url: '/pages/info/info?name=ls7&gender=男',
        })
      },
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在onload中接受导航传参

    通过声明式导航传参数或编程式导航穿惨所携带的参数,可以直接在onload事件中直接获取到:

     onLoad(options) {
          console.log(options);
      },
    
    • 1
    • 2
    • 3
  • 相关阅读:
    数据结构堆详解
    怎么给图片名称快速重命名?来跟我学着两个实用方法
    使用 ADB 命令在 Android 设备上进行截屏
    网站后台删除文章时,如何把内容中的图片也一并删除?
    二分套二分+贪心:CSPS2023T4
    python进阶:带你学习实时目标跟踪
    WebAssembly入门笔记[3]:利用Table传递引用
    IoC含义介绍(Spring的核心思想)
    自定义md-loader来简单高效的维护组件文档
    Kubernetes学习-概念2
  • 原文地址:https://blog.csdn.net/weixin_36662706/article/details/138211262