鸿蒙 HarmonyOS Next 路由 不废话 全干货

一、页面的创建

(1)直接通过创建一个新的Page的方式创建

(2)先创建一个 ArkTs File文件,然后在resources/base/profile/main_pages.json中加上页面对应的src路径,下面的Index_3.ets文件是通过创建ArkTs File文件生成的,需要加上src路径

加上路径后的显示:

 

二、路由 - 操作

首先导入:

import router from 'ohos.router'

普通跳转(可以返回)

相当于栈,可以每次跳转都是入栈,每次返回都是出栈,页面栈的最大容量是32个页面

提示:页面地址是resources/base/profile/main_pages.json里的src地址

router.pushUrl({url:'页面地址'
})

替换跳转(无法返回)

提示:页面地址是resources/base/profile/main_pages.json里的src地址

router.replaceUrl({url:'页面地址'
})

返回

router.back()

获取页面栈的长度

router.getLength()

清空页面栈 

router.clear()

三、路由模式

两种路由模式:

Standard:无论之前是否使用过,一直添加到页面栈中(默认)

Single:如果目标页面已存在,会将已有的最近同url页面移到栈顶

路由模式的设置方式

在挑战页面的第二个参数设置路由模式

router.pushUrl(options,mode)

示例:

router.pushUrl({url:'pages/Index_2'
},router.RouterMode.Single)

四、路由传参

传递参数的示例:

router.pushUrl({url:'pages/Index_3',params: {username:this.username}
})

接受参数的示例:

aboutToAppear():void{console.log(JSON.stringify(router.getParams()))const params = router.getParams() as 类型//例如,获取params中的username属性console.log('我的用户名是'+params.username)}

五、demo演示

第一个页面:Index.ets (效果:跳转的到Index_2.ets页面)

import router from '@ohos.router'@Entry
@Component
struct Index {build(){Column() {Text('第一个页面').fontSize(50).onClick(()=>{router.pushUrl({url:'pages/Index_2'},router.RouterMode.Single)})}}
}

第二个页面:Index_2.ets(效果:跳转的到Index_3.ets页面,同时传递参数username)

import router from '@ohos.router';@Entry
@Component
struct Index_2 {@State username:string = 'csh'build(){Column() {Text('第二个页面').fontSize(50).onClick(()=>{router.pushUrl({url:'pages/Index_3',params: {username:this.username}})})}}
}

第三页面:Index_3.ets(效果:接收Index_2.ets页面传递来的参数并通过日志输出)

import router from '@ohos.router';interface ParamsObj{username:string
}@Entry
@Component
struct Index_3 {aboutToAppear():void{console.log(JSON.stringify(router.getParams()))const params = router.getParams() as ParamsObjconsole.log('我的用户名是'+params.username)}build(){Column() {Text('第三个页面').fontSize(50)}}
}

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

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

相关文章

Linux安装达梦

文章目录 前言一、docker安装1.下载镜像2.导入镜像3.生成容器 二、ios安装1.环境准备2.iso安装3.配置实例4.注册服务5.启停服务 总结 前言 公司要求我将数据从oracle迁移到达梦数据库,这个国产数据库以前没用过,所以记录一下这次的安装过程。 一、docke…

后端部署Jar包 | 启动失败系列问题(图解-BuiId,Maven)

目录 项目的构建 打包前的准备 合理配置pox.xml文件 Build 打包方式 Maven打包方式 Jar包部署 测试后端接口 项目的构建 我的项目是SpringBoot2脚手架 先准备一个相对于的数据库依赖 数据库的任意库 Yaml配置后 才能正常在IDEA中跑起来 打包前的准备 合理配置pox.xm…

rs轨迹校验

最近发现有些网站的rs似乎上了轨迹校验,附图: 写了个解rscookie的插件,可以精准看到rs更改了那些校验点,需要做什么处理,就很舒服 有需要轨迹代码或者瑞数相关的可以联系 let v huaqu0727

Feign远程调用,请求头丢失情况

现象 解决方案 import feign.RequestInterceptor; import feign.RequestTemplate; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.context.request.RequestContextHolde…

编译开源车载Linux操作系统AGL

随着汽车行业的智能化和互联化趋势日益明显,车载系统作为汽车的重要组成部分,其性能和功能也受到了越来越多的关注。Linux作为一款开源的操作系统,具有稳定性高、安全性强、可定制性好等优点,因此成为了车载系统领域的热门选择。 …

我应该怎么办?(关于专升本篇!)

kimi,我需要你的帮助,我现在在湖北工业职业技术学院,我2025年将要开始进行专升本,预计在明年4月26日进行专升本,但是我现在很迷茫,自己感觉自己很懒惰,自己每天都过得很迷糊! 面对专…

SSM+汽车停车位共享APP-计算机毕业设计源码041534

摘 要 随着社会经济的快速发展,我国机动车保有量大幅增加,城市交通问题日益严重。为缓解用户停车难问题,本文设计并实现了APP停车位共享系统.该系统通过错峰停车达到车位利用率最大化.基于现状分析,本文结合实际停车问题,从系统应用流程,系统软硬件设计和系统实现三方面进行详细…

MUNIK解读ISO26262--什么是系统安全分析

功能安全之系统阶段-系统安全分析 安全分析在ISO26262标准中横跨了多个阶段例如:概念阶段、系统架构阶段、硬件详设阶段和软件详设阶段,其中part5中的安全分析工具FMEDA是标准中唯一一个和ASIL等级挂钩的,在Part5中也用了很大篇幅在介绍该安…

为什么英智智能宝能让律师工作事半功倍

大语言模型能够极大提高人们的知识理解能力和知识服务能力,法律服务是典型的知识服务领域,据悉律师有38%的任务都是重复性工作,这些任务有潜力被大模型替代。 但在法律行业中的高度专业且复杂的问题时,通用型大模型的回答虽能提供…

CentOS 离线安装部署 MySQL 8详细教程

1、简介 MySQL是一个流行的开源关系型数据库管理系统(RDBMS),它基于SQL(Structured Query Language,结构化查询语言)进行操作。MySQL最初由瑞典的MySQL AB公司开发,后来被Sun Microsystems公司…

电子元器件基础知识总结

1.0 电阻 电阻的定义:导体对电流的阻碍作用称之为电阻【每一种导体都有内阻的存在】 闭合的电路中电子的移动输出有多快?电子在导体中的移动速度是很慢的 【铜线中电流的移动速度】 电子受到原子核的束缚,移动的速度很慢,在电压足…

4面体空间5点结构种类与占比

在30个点的4面体中取5个点,有30*29*28*27*26/(5*4*3*2)142506种取法, 这里要求5个点必须是直链或支链。共有496个组合符合要求,按平移对称性可分成181个不同的结构 结构 数量 结构 数量 结构 数量 结构 数量 结构 数量 结构 数量 …

Harbor:打造docker私有镜像库

part 1. Harbor概览 harbor:我们的使命是成为 Kubernetes 值得信赖的云原生存储库 为什么要使用Harbor? Harbor是VMware公司开源的企业级容器镜像仓库管理平台,它提供了比基本Docker Registry更丰富的功能,特别适合企业环境使用。提供了镜像存储、签名…

【TS】TypeScript 联合类型详解:解锁更灵活的类型系统

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 TypeScript 联合类型详解:解锁更灵活的类型系统一、联合类型的定义二…

【深海王国】小学生都能玩的语音模块?ASRPRO打造你的第一个智能语音助手(6)

Hi~ (o^^o)♪, 各位深海王国的同志们,早上下午晚上凌晨好呀~ 辛勤工作的你今天也辛苦啦(/≧ω) 今天大都督继续为大家带来系列——小学生都能玩的语音模块,帮你一周内快速学会语音模块的使用方式,打造一个可用于智能家居、物联网领域的语音助…

基于SpringBoot的就业信息管理系统

你好,我是计算机学姐码农小野!如果你对就业信息管理系统感兴趣或有相关需求,欢迎私信联系我。 开发语言: Java 数据库: MySQL 技术: SpringBootMySql 工具: MyEclipse、Tomcat 系统展示…

电脑游戏录屏,3款实用软件推荐给你

在电竞游戏热潮席卷全球的今天,电脑游戏录屏早已不再是简单的画面捕捉,它成为了记录电竞风采、打造专属游戏记忆的重要手段。通过游戏录屏,我们可以定格游戏中的精彩瞬间,重温那些令人热血沸腾的电竞时刻。那么,在进行…

Prometheus + Grafana 监控系统搭建使用指南-mysqld_exporter 安装与配置

使用mysqld_exporter 实现Prometheus 监控Mysql 系列文章目录 Prometheus 的安装部署Grafana的安装部署Linux服务器接入Prometheus监控-Node Exporter 安装指南Prometheus 接入SpringBoot微服务监控Mysql 接入 Prometheus RocketMQ 接入Prometheus 监控ElasticSearch 接入 Pr…

Node.js实现一个文章生成器

前言 本文将从零开始,讲解如何使用Node.js来实现一个文章生成器 node里面有很多优秀的模块,现在我们就借助node的fs模块来操控文本,来实现我们想要的效果 效果展示 体验 fs 首先我们先创建一个json文件 里面放一些内容 接下来我们书写代码…

抖音本地生活服务商入驻要求中暗含哪些信息?入局要点都在里面了!

随着抖音外卖的正式开放,许多创业者对于做抖音本地生活服务商的意向愈发强烈,抖音本地生活服务商入驻要求及相关话题更是在多个创业者群内被翻来覆去地讨论,且多次刷屏。 而就抖音目前在本地生活市场的布局来看,其主要的重心还是…