【HarmonyOS NEXT星河版开发实战】页面跳转

个人主页→VON

收录专栏→鸿蒙综合案例开发​​​​​

代码及其图片资源会发布于gitee上面(已发布)

gitee地址icon-default.png?t=N7T8https://gitee.com/wang-xin-jie234

目录

前言

界面功能介绍

界面构建过程

知识点概述

页面跳转

页面传参

全套源代码

Index页面

SecondPage页面 


前言

单一页面所实现的具体功能十分的局限,所以页面之间的跳转就显得及其重要,本案例就以简单的页面之间的跳转为例来进行这一基础知识的讲解。

界面功能介绍

 这里就以两个页面为例,第一页有一个next按钮,通过单击next按钮会跳转到第二页。第二页中的“首页向您问好”是首页的文字,通过传参传到了第二页。通过单击第二页中的back按钮又会跳转到首页。

界面构建过程

就是一个简单的页面构建,只有文字和一个按钮组成,可以根据实际情况来进行页面的精彩构建。 

 

第二个页面也十分的简洁,相较于第一个页面就多了个传入的参数。 

知识点概述

页面跳转

在鸿蒙操作系统中,页面跳转是通过Router模块来实现的。鸿蒙操作系统(HarmonyOS)作为华为推出的全新分布式操作系统,旨在通过统一的语言和框架,实现应用在不同设备间的无缝连接与协同工作。页面跳转作为应用开发中的常见需求,对于提升用户体验和应用流畅度具有重要意义。

鸿蒙系统中的页面跳转主要依赖于Router模块,该模块提供了丰富的API支持各种页面跳转场景。Router模块提供两种主要跳转模式:pushUrl()和replaceUrl()。这两种模式主要决定了目标页面是否会替换当前页面。pushUrl()模式允许目标页面压入页面栈,保留当前页状态,可通过返回键或调用router.back()方法回到当前页。而replaceUrl()模式则会替换并销毁当前页面,释放其资源,用户无法返回到被替换的页面。

页面传参

在鸿蒙操作系统中,页面传参主要通过路由(Route)和意图(Intent)两种方式实现。鸿蒙操作系统(HarmonyOS)是华为推出的一款面向全场景的分布式操作系统,它允许开发者在不同设备间实现无缝连接和协同工作。页面传参是应用开发中的常见需求,对于提升用户体验和应用流畅度具有重要意义。

首先,介绍路由方式传参。路由方式主要适用于页面间的跳转和参数传递。具体步骤如下:首先需要引入路由模块,然后使用router.push()方法进行页面跳转和参数传递。这种方法允许将参数以对象的形式传递给目标页面。例如,可以这样写:router.push({url: "pages/[页面命名]", params: {value: 'test'}})。目标页面接收参数也非常简单,只需使用router.getParams()方法获取传递过来的参数对象,并可以通过相应的键值访问具体参数。

其次,介绍意图方式传参。意图方式传参在鸿蒙系统中也是一种重要的页面传参手段。鸿蒙提供了startAbilitystartAbilityForResult两种方法来启动一个页面,并传递参数。具体步骤如下:第一步是创建一个IntentParams对象,并通过setParam方法设置需要传递的参数。第二步是调用startAbilitystartAbilityForResult方法,将IntentParams对象作为参数传递。在目标页面中,可以通过重载的onStart方法获取传递过来的意图对象,并通过getStringParam等方法获取具体参数。

全套源代码

Index页面

import router from '@ohos.router'@Entry
@Component
struct Index {build() {Column(){Text('First  Page').height('50%').fontSize(30).fontWeight(700)Button('Next').width(200).fontSize(20).fontWeight(700).onClick(()=>{router.pushUrl({url:'pages/SecondPage',params:{src:'首页向您问好'}})})}.width('100%').height('100%')}
}

SecondPage页面 

import router from '@ohos.router'@Entry
@Component
struct SecondPage {@State src:string=(router.getParams() as Record<string,string>)['src']build() {Column(){Text('Second  Page').height('50%').fontSize(30).fontWeight(700)Text(this.src).fontSize(20).fontWeight(500).margin({bottom:20})Button('Back').width(200).fontSize(20).fontWeight(700).onClick(()=>{router.pushUrl({url:'pages/Index'})})}.width('100%').height('100%')}
}

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

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

相关文章

C语言学习——文件

目录 十三、文件 13.1C文件概述 13.2文件类型指针 13.3文件的打开与关闭 文件的打开&#xff08;fopen函数&#xff09; 文件的关闭&#xff08;fclose函数&#xff09; 13.4文件的读写 fputc函数和fgetc函数&#xff08;putc函数和getc函数&#xff09; fread函数和fw…

【qt】自定义信号

我们在上篇中&#xff0c;服务器收到的消息是由线程类去处理的&#xff0c;消息在线程类中&#xff0c;传不到widget中的ui中去&#xff0c;如果我们要在界面显示客户端的消息&#xff0c;必须通过自定义信号. 1.构建信号 当线程收到信息&#xff0c;就会被填充在ba中&#xf…

PHPShort轻量级网址缩短程序源码开心版,内含汉化包

需要网址缩短并且想获得更多有关链接点击率和流量的数据分析&#xff0c;那么 PHPShort 可能是一个非常好的选择。PHPShort 是一款高级的 URL 缩短器平台&#xff0c;可以帮助你轻松地缩短链接&#xff0c;并根据受众群体的位置或平台来定位受众。 该程序基于 Laravel 框架编写…

Fiddle抓手机app的包

前言 本次文章讲述的是&#xff0c;fiddle获取手机代理&#xff0c;从而获取手机app的http、https请求&#xff01; 一.下载安装汉化Fiddle 1.点击Fiddler官网下载链接&#xff1a;Download Fiddler Web Debugging Tool for Free by Telerik 2.直接运行&#xff0c;选择自己需…

Linux:进程的概念,进程相关函数

一、进程的概念 1.进程 进程是系统进行资源分配和调度的一个独立单元&#xff0c;它是操作系统结构的基础。进程是程序的一次执行过程&#xff0c;包含了程序代码、当前活动、系统资源&#xff08;如CPU、内存、文件等&#xff09;的使用情况等信息。每个进程都有自己独立的内…

AUTOSAR_EXP_ARAComAPI.pdf的第4章笔记

4 Fundamentals 为了理解AUTOSAR_EXP_ARAComAPI.pdf的第4章内容&#xff0c;生搬硬套的翻译了一把&#xff0c;准备先囫囵吞枣&#xff0c;再仔细理解。因为这些内容的理解也不是一时半会儿的。所以先放上来。 AUTOSAR_EXP_ARAComAPI.pdf的概述 因此&#xff0c;ara::com不提…

VS2022 - 制作自己的C#类库dll,并输出Unity识别的pdb调试信息文件

然后编写库代码&#xff0c;设置dll生成目录 *** 输出unity可以识别的pdb调试信息文件 *** 右键项目-属性-生成-高级-调试信息&#xff1a;可移植(Portable PDB) 这是因为Unity只能识别MDB和Portable PDB文件 这样设置后&#xff0c;把dll和pdb文件放入到Unity中同文件夹下&…

002、架构_概览

GoldenDB 主要由管理节点、计算节点、数据节点、全局事务节点等模块组成&#xff0c;各个节点无需共享任何资源&#xff0c;均为独立自治的通用计算机节点&#xff0c;之间通过高速互联的 网络通讯&#xff0c;从而完成对应用数据请求的快速处理和响应。 管理节点在数据库中主要…

【JVM】剖析字符串与数组的底层实现(一)

剖析字符串与数组的底层实现 字符数组的存储方式 JVM有三种模型: 1.Oop模型:Java对象对应的C对象2.Klass模型:Java类在JVM对应的C对象3.handle模型 字符串常量池 即String Pool&#xff0c;但是JVM中对应的类是StringTable&#xff0c;底层实现是一个hashtable,如代码所示 …

三级_网络技术_42_综合题(命令)

一、 如图所示&#xff0c;某园区网用10Gbps的POS技术与intemet相连&#xff0c;POS接囗的帧格式是SDH。在R3上配置一个oopback接口&#xff0c;"P地址为10.2.15.1&#xff0c;路由协议的选择方案是&#xff0c;园区网内部采用OSPF动态路由协议&#xff0c;园区网与Inter…

如何使用ssm实现基于面向对象的学生事务处理系统分析与设计

TOC ssm138基于面向对象的学生事务处理系统分析与设计jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化…

go中 panicrecoverdefer机制

go的defer机制-CSDN博客 常见panic场景 数组或切片越界&#xff0c;例如 s : make([]int, 3); fmt.Println(s[5]) 会引发 panic: runtime error: index out of range空指针调用&#xff0c;例如 var p *Person; fmt.Println(p.Name) 会引发 panic: runtime error: invalid m…

AJAX(4)——XMLHttpRequest

XMLHttpRequest 定义&#xff1a;XMLHttpRequest(XHR)对象用于与服务器交互。通过XMLHttpRequest可以在不刷新页面的情况下请求特定URL&#xff0c;获取数据。这允许网页在不影响用于操作的情况下&#xff0c;更新页面的局部内容。XMLHttpRequest在AJAX编程中被大量使用 关系…

MATLAB 手动实现点云投影滤波器 (76)

点云投影到邻近的精确拟合平面,减少噪声点,此为投影滤波器 MATLAB 手动实现点云投影滤波器(76) 一、投影滤波器简介二、实现步骤二、算法实现1.代码2.效果这里用到的投影方法和平面拟合方法以及生成平面方法都在以往文章有所实现,有兴趣可参考: MATLAB点云处理总目录 一…

C++动态规划及九种背包问题

目录 目录 一&#xff0c;动态规划 一&#xff09;&#xff0c;动态规划的定义 二&#xff09;&#xff0c;动态规划其他的相关概念&#xff08;也是使用条件&#xff09; 1&#xff0c;重叠子问题 2&#xff0c; 最优子结构 3&#xff0c;无后效性 三&#xff09;&…

dompdf导出pdf中文乱码显示问号?、换行问题、设置图片大小

环境&#xff1a;PHP 8.0 框架&#xff1a;ThinkPHP 8 软件包&#xff1a;phpoffice/phpword 、dompdf/dompdf 看了很多教程&#xff08;包括GitHub的issue、stackoverflow&#xff09;都没有解决、最终找到解决问题的根本&#xff01; 背景&#xff1a;用Word模板做转PDF…

【JavaEE初阶】IP协议

目录 &#x1f4d5;引言 &#x1f334;IP协议的概念 &#x1f333;IP数据报 &#x1f6a9;IPv4协议头格式 &#x1f6a9;IPv6的诞生 &#x1f3c0;拓展 &#x1f384;IP地址 &#x1f6a9;IP地址的格式&#xff1a; &#x1f6a9;IP地址的分类 &#x1f3c0;网段划分…

【第57课】SSRF服务端请求Gopher伪协议无回显利用黑白盒挖掘业务功能点

免责声明 本文发布的工具和脚本&#xff0c;仅用作测试和学习研究&#xff0c;禁止用于商业用途&#xff0c;不能保证其合法性&#xff0c;准确性&#xff0c;完整性和有效性&#xff0c;请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0…

Unity动画模块 之 Animator中一些常见参数

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正 我发现我忘了写Animator了&#xff0c;正好有些不常用的参数还没怎么认识,笔记来源于唐老狮 1.状态窗口参数 2.连线参数…

如何使用ssm实现学生公寓管理系统的设计与实现

TOC ssm106学生公寓管理系统的设计与实现jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;…