初识小程序-路由导航

153 阅读3分钟

页面导航

页面导航是指页面跳转,小程序中实现页面导航的两种方式,传参都是以链接?name=12&age=18形式

参数接收

参数在onLoad函数的参数中

  onLoad(options) {
    console.log(options)
  },

1. 声明式导航

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

跳转到tabBar页面

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

  • url表示要跳转的页面地址,必须以/开头
  • open-type表示跳转方式,必须为switchTab
<navigator url="/pages/index/index" open-type="switchTab">跳转到tarBar页面</navigator>
// 传参
<navigator url="/pages/index/index?name=zs&age=18" open-type="switchTab">跳转到tarBar页面</navigator>    

跳转到非tarBar页面

  • url表示要跳转的页面地址,必须以/开头
  • open-type表示跳转方式,必须为navigate(此时该属性可以不写)
<navigator url="/pages/home/home" open-type="navigate">跳转到非tarBar页面</navigator>
// 简写
<navigator url="/pages/home/home">跳转到非tarBar页面</navigator>

后退导航

如果要返回到上一页面或多级页面,则需要指定open-type属性和delta属性,其中:

  • open-type的值必须是navigateBack,表示要后退的导航
  • delta的值必须是数字,表示后退的层级
<navigator open-type="navigateBack" delta='1'>返回上一页</navigator>
// delta为1时可以省略,因为默认值就是1
<navigator open-type="navigateBack">返回上一页</navigator>

2. 编程式导航

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

wx.switchTab(Object object)【跳转到tarBar页面】

属性类型默认值必填说明
urlstring需要跳转的 tabBar 页面的路径 (代码包路径)(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数。
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

wx.navigateTo(Object object)【跳转到非tarBar页面】

属性类型默认值必填说明
urlstring需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 'path?key=value&key2=value2'
eventsObject页面间通信接口,用于监听被打开页面发送到当前页面的数据。基础库 2.7.3 开始支持。
routeTypestring2.29.2 自定义路由类型,相关文档 自定义路由
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

wx.navigateBack(Object object)

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。

属性类型默认值必填说明
deltanumber1返回的页面数,如果 delta 大于现有页面数,则返回到首页。
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

页面事件

生命周期

wxs脚本