微信小程序开发学习之页面导航(声明式导航和编程式导航)

微信小程序之页面导航(声明式导航和编程式导航)

    • 1.0 页面导航
    • 1.1. 声明式导航
      • 1.1.1. 导航到tabBar页面
      • 1.1.2. 导航到非tabBar页面
      • 1.1.3. 后退导航
    • 1.2. 编程式导航
      • 1.2.1. 导航到tabBar页面
      • 1.2.2. 导航到非tabBar页面
      • 1.2.3. 后退导航
    • 1.3. 导航传参
      • 1.3.1. 声明式导航传参
      • 1.3.2. 编程式导航传参
    • 1.4. 获取导航传递的参数

1.0 页面导航

页面导航指的是页面之间的相互跳转。

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

  1. 声明式导航
    ● 在页面上声明一个 navigator 导航组件
    ● 通过点击 navigator 组件来实现页面的跳转
  2. 编程式导航
    ● 调用小程序的导航API,实现页面的跳转

1.1. 声明式导航

1.1.1. 导航到tabBar页面

tabBar 页面指的是被配置为 tabBar 的页面。
在使用 组件跳转到指定的 tabBar 页面时,需要指定 url 属性和 open-type 属性,url为页面的跳转地址,open-type 必须为 switchTab。

<navigator url="/pages/home/home" open-type="switchTab">
前往首页
</navigator>

1.1.2. 导航到非tabBar页面

非 tabBar 页面指的是没有被配置为 tabBar 的页面。
同样在使用 navigator 组件跳转到非tabBar页面时,需要指定其 url 和 open-type 属性,url为页面的跳转地址,open-type 必须为 navigate。

<navigator url="/pages/info/info" open-type="navigate">导航到info页面
</navigator>

tips:跳转到非tabBar页面时,open-type="navigate" 可以省略。

1.1.3. 后退导航

如果要后退到上一页面或多级页面,则需要指定 open-type 属性和 delta 属性。
open-type 的值必须为 navigateBack ,表示要进行后退导航,delta的值必须为数字,表示后退的层级。

<navigtor open-type="navigateBack" delta='1'>返回上一页</navigtor>

tips:为了简便,如果只是后退到上一页面,则可以省略 delta 属性,因为其默认值就是 1。

1.2. 编程式导航

1.2.1. 导航到tabBar页面

导航到tabBar页面,使用wx.switchTab(Object object)方法,Object 参数对象的属性如下:

属性类型是否必选说明
urlstring需要跳转的 tabBar 页面的路径,路径后不能带参数
successfunction否 接口调用成功的回调函数
fail function接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

其中url为必填项,指明你要跳转的页面
例如:点击一个按钮跳转到首页
xx.wxml部分

<button bindtap="btnGoHome">跳转到首页按钮</button>

xx.js部分

btnGoHome(){wx.switchTab({url: '/pages/home/home',})
},

1.2.2. 导航到非tabBar页面

导航到非tabBar页面,使用wx.navigateTo(Object object)方法即可,其Object对象的参数与上面的switchTab一样。
我们只需要在函数中指明url地址即可。
页面部分 xx.wxml

<button bindtap="btnGoInfo">跳转到info页按钮</button>

js部分 xx.js

btnGoInfo(){wx.navigateTo({url: '/pages/info/info',})
},

1.2.3. 后退导航

**后退导航使用 wx.navigateBack(Object object),**其中Object 对象的参数属性如下:

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

xx.wxml

<button bindtap="btnGoBack">返回到上一页按钮</button>

xx.js

btnGoBack(){// 默认情况下 delta属性值 为 1,不指定也可以wx.navigateBack()
},

1.3. 导航传参

导航传参其实就是在url上面拼接参数, 参数与路径之间使用 ? 分隔 ,参数键与参数值用 = 相连 ,不同参数用 & 分隔。

1.3.1. 声明式导航传参

使用navigator组件传递参数,直接在其url上面拼接参数即可,例如

<navigator url="/pages/info/info?name='zhangsan'&age=20">
声明式导航传参
</navigator>

页面参数 :name=‘zhangsan’&age=20
在这里插入图片描述

1.3.2. 编程式导航传参

编程式导航传参也是一个道理,我就拿一个wx.switchTab()来举例,其余也都是一样的

<button bindtap="btnPassParams">编程式导航传参按钮</button>
btnPassParams() {wx.navigateTo({url: '/pages/info/info?name=lisi&age=21',})
},

页面参数:name=lisi&age=21
在这里插入图片描述

1.4. 获取导航传递的参数

通过声明式导航传参或编程式导航传参所携带的参数,可以直接在 onLoad 事件中直接获取到。
这里的话我直接写接收端的onload方法,然后输出一下options.

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

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18998.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK之logstash四大组件

ELK之logstash四大组件 一、grok(正则捕获插件) 1.内置正则调用 //内置正则表达式调用 %{SYNTAX:SEMANTIC}●SYNTAX代表匹配值的类型&#xff0c;例如&#xff0c;0.11可以NUMBER类型所匹配&#xff0c;10.222.22.25可以使用IP匹配。●SEMANTIC表示存储该值的一个变量声明&a…

软件设计模式与体系结构-设计模式-行为型软件设计模式-访问者模式

目录 二、访问者模式概念代码类图实例一&#xff1a;名牌运动鞋专卖店销售软件实例二&#xff1a;计算机部件销售软优缺点适用场合课程作业 二、访问者模式 概念 对于系统中的某些对象&#xff0c;它们存储在同一个集合中&#xff0c;具有不同的类型对于该集合中的对象&#…

Kafka request.log中RequestQueueTimeMs、LocalTimeMs、RemoteTimeMs、ThrottleTimeMs、含义

Kafka request.log中RequestQueueTimeMs、LocalTimeMs、RemoteTimeMs、ThrottleTimeMs、含义 要理解各个延时项的含义&#xff0c;必须从Kafka收到TCP请求、处理请求到返回TCP包整个流程开始梳理 RequestQueueTimeMs Processor 执行processNewResponses() 方法&#xff0c;不…

Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling

感想&#xff1a;由于看不懂官方代码的原因&#xff0c;自己这方面耽误了一段时间&#xff0c;一方面&#xff0c;在AI与经济学之间犹豫了许久&#xff0c;另一方面&#xff0c;工作 了半年&#xff0c;也没发工资&#xff0c;没空找培训代码的课程&#xff0c;所以停止更新了三…

wx.getUserProfile too frequently 问题

接口调用频率规范 概念介绍 小程序wx接口可分为“普通接口”和“限频接口”。 “限频接口”指的是一个用户在一段时间内不允许频繁调用的wx接口&#xff0c;此类接口一般会调用到微信后台系统资源&#xff0c;为了保护系统&#xff0c;同时防止用户资源被滥用&#xff0c;开…

软件测试基础概念

什么是需求 什么是需求&#xff1f;简单来说就是我想吃饭&#xff0c;这件事就是我的需求&#xff0c;我不想上课&#xff0c;这也是我的需求。对于软件测试来说&#xff0c;需求可以分为用户需求和软件需求。 用户需求 用户需求简单可以理解为甲方提出的要求&#xff0c;如…

git基础教程(linux)

1.git简介 git 分布式版本控制 git两大特点&#xff1a; 版本控制&#xff1a;支持多人同时开发 分布式&#xff1a; 2.安装与配置 安装 sudo apt-get install git安装成功&#xff0c;运行如下命令&#xff1a; git3.创建一个版本库 (1)新建一个目录git_test&#xff0c…

zabbix服务部署

文章目录 zabbix1 zabbix简介1.1 组成部件1.2 监控原理1.3 Zabbix 6.0新特性1.4 Zabbix6.0功能组件1.4.1 Zabbix Server1.4.2 数据库1.4.3 Web界面1.4.4 Zabbix Agent1.4.5 Zabbix Proxy1.4.6 Java Gateway 2 部署zabbix服务端2.1 部署Nginx2.2 安装PHP2.3 修改Nginx配置2.4 修…

找工作不用愁!送你一份Salesforce顾问面试秘籍(下)(含答案)

作为SaaS行业的先驱&#xff0c;Salesforce的发展一路高歌猛进。在Salesforce生态系统中不仅能学习到最新的技术&#xff0c;而且比其他行业的同岗位享有更高的薪水&#xff0c;这也驱使了越来越多人加入Salesforce大军。 在之前的文章中&#xff0c;自由侠部落为学习者梳理了…

奥威BI-金蝶云星空SaaS版一站式平台:对接数据、做分析

金蝶云星空和BI大数据分析平台都在企业数字化转型中扮演了重要的角色&#xff0c;为企业提供了全面的数字化解决方案和数据分析功能&#xff0c;两者强强联合不仅能提高部署效率&#xff0c;更能增强数据分析、数据可视化效果&#xff0c;帮助企业更好地适应市场变化和用户需求…

Arcgis Pro NDVI(植被指数)导出RGB

在arcgis中计算的NDVI栅格数据&#xff0c;取值范围为-1到1&#xff0c;直接导出JPG或者PNG&#xff0c;会出现导出错误的问题&#xff1a; 导出出错&#xff0c; 设置导出格式为TIFF&#xff0c;然后选中使用渲染器&#xff0c;勾选强制RGB颜色&#xff0c;即可导出你选择的色…

【C++STL】list的反向迭代器

list的反向迭代器 文章目录 list的反向迭代器reverse.h疑问1&#xff1a;为什么在迭代器当中不需要写深拷贝、析构函数疑问2&#xff1a;为什么在迭代器当中需要三个模板参数&#xff1f;疑问3&#xff1a;反向迭代器是怎么实现的&#xff1f;疑问4&#xff1a;为什么*解引用不…