当前位置:网站首页>小程序导航及导航传参
小程序导航及导航传参
2022-08-10 02:52:00 【听我说两句、】
小程序中实现页面导航的两种方式
- 声明式导航
- 在页面上声明一个导航组件
- 通过点击组件实现页面跳转
- 编程式导航
- 调用小程序的导航API,实现页面的跳转
一、声明式导航
1.导航到tabBar页面
tabBar页面指的是被配置为tabBar的页面
在使用组件跳转到指定的tabBar页面时,需要指定url属性和open-type属性,其中:
- url表示要跳转到的页面地址,必须以/开头
- open-type表示跳转的方式,必须为switchTab
<navigator url="/pages/message/message" open-type="switchTap">导航到消息页面</navigator>
2.导航到非tabBar页面
非tabBar页面:没有在tabBar配置的页面
在使用组件跳转到普通的非tabBar页面时,则需要指定url属性和open-type属性:
- url表示要跳转到的页面地址,必须以/开头
- open-type表示跳转的方式,必须为navigate
<navigator url="/pages/info/info" open-type="navigate">导航到非tabBar页面</navigator>
在导航到非tabBar页面时,open-type=“navigate” 可以省略不写,也可以导航到指定页面
3.后退导航
如果要后退到上一页面或多级页面,则需要指定open-type属性和delta属性,:
- open-type的值必须是navigateBack,表示要进行后退导航
- delta的值必须是数字,表示要后退的层级
<navigator open-type="navigateBack" delta="1">后退至上一页</navigator>
注:如果只是后退到上一页,则delta可以省略不写,因为值默认是1
二、编程式导航
1. 导航到tabBar页面
调用wx.switchTab(object,object)方法,可以跳转到tabBar页面,其中object参数对象的属性如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S0OMhmgq-1660008334845)(C:\Users\zhoukangjie\AppData\Roaming\Typora\typora-user-images\image-20220715142515616.png)]
示例代码:
<button bindTab="goMessage">跳转到message</button> goMessage(){ wx.switchTab({ url:"/pages/message/message" }) }
2. 跳转到非tabBar页面
调用wx.navigateTo(object,object) 方法,可以跳转到非tabBar页面。其中object参数对象的属性列表:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mXsjomms-1660008334847)(C:\Users\zhoukangjie\AppData\Roaming\Typora\typora-user-images\image-20220715143408134.png)]
<button bindtap="goInfo">跳转非tabBar页</button> goInfo(){ wx.navigateTo({ url:'/pages/info/info' }) },
3. 后退导航
调用wx.navigateback(object,object)方法,可以返回上一页面或多级页面;其中object参数队形的属性列表如下:
<button bindtab="goBack">返回上一页</button> goBack(){ wx.navigateBack({ delta:1 // 默认是1,可以省略不写 }); },
导航传参
1. 声明式导航传参
navigator组件的url属性用来指定将要跳转的页面路径。同时,路径的后面还可以携带参数:
- 参数与路径之间使用?分隔
- 参数键与参数值用 = 相连
- 不同参数用&分隔
示例代码:
<navigator url="/pages/info/info?name=张三&age=15">跳转到info页面</navigator>
2. 编程式导航传参
调用wx.navigateTo(object,object)方法跳转页面时,也可携带参数
示例代码:
<button bindtap="goInfo">跳转</button> goInfo(){ wx.navigateTo({ url:"pages/info/info?name=zs&age=18" }) }
3. 在onload中接收导航参数
通过声明式导航传参或编程式导航传参所携带的参数,可以在onload事件中直接获取到,
示例代码:
onLoad:function(options){ // options 就是导航传递过来的参数对象 console.log(options) }
边栏推荐
猜你喜欢
Will signal with different start time alignment
一文教会你快速上手 Vim
国能准能集团研发矿山数字孪生系统 填补国内采矿行业空白
使用curl指令发起websocket请求
Example 043: Scope, class methods and variables
从8k到13k,我全靠这本《接口自动化测试——从入门到精通》
Example 044: Matrix Addition
如何让导电滑环信号更好
Excel Advanced Drawing Skills 100 Lectures (23) - Countdown Counting in Excel
【语义分割】2022-HRViT CVPR
随机推荐
第二十一章 源代码文件 REST API 参考(三)
推荐几款好用的MySQL开源客户端,建议收藏
uva1392
2022.8.8 Exam Travel Summary
一文教会你快速上手 Vim
国能准能集团研发矿山数字孪生系统 填补国内采矿行业空白
uva1481
湖仓一体电商项目(四):项目数据种类与采集
使用注解实现限流
How to write a high-quality test case?
2022.8.9 Remainder of Exam Balance--1000 Question Solutions
IDEA自动生成serialVersionUID
使用flink-sql写入mysql的时候,只指定插入的字段,但是会报错id字段错误,没有默认值,创
成功执行数字化转型的9个因素
what is eabi
MMDetection框架的anchor_generators.py解析
liunx PS1 settings
三极管开关电路参数设计与参数介绍
C - The Battle of Chibi (dp加树状数组前缀和优化)
【Kali安全渗透测试实践教程】第8章 Web渗透