鸿蒙 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.xdnf.cn/news/1472604.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【高性能服务器】select模型

🔥博客主页: 我要成为C领域大神🎥系列专栏:【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 IO多路复用就是复用…

基于DMAIC降低气缸体水套芯磕碰伤率

在制造业的激烈竞争中,产品质量的提升一直是企业追求的目标。气缸体作为汽车发动机的核心部件,其生产过程中的质量控制尤为重要。今天,深圳天行健企业管理咨询公司就来分享一下如何运用DMAIC(定义、测量、分析、改进、控制&#x…

INTERCONNECT 使用脚本导入 Element Library 的器件

INTERCONNECT 使用脚本导入 Element Library 的器件 正文示例1示例2正文 在 INTERCONNECT 添加自定义器件到 Custom 文件夹下 一文中,我们介绍了如何将器件或者自定义器件添加到用户自定义的库中。那么我们如何从 Element Library 中导入我们需要的器件呢? 最简单的方式就是…

centos下编译安装redis最新稳定版

一、目标 编译安装最新版的redis 二、安装步骤 1、redis官方下载页面 Downloads - Redis 2、下载最新版的redis源码包 注:此时的最新稳定版是 redis 7.2.5 wget https://download.redis.io/redis-stable.tar.gz 3、安装编译环境 yum install -y gcc gcc-c …

计算机的错误计算(二十一)

摘要 两个不相等数相减,差为0: ? 在计算机的错误计算(十九)中,高中生小明发现本应为0的算式结果不为0. 今天他又发现对本不为0的算式,计算机的输出为0. 在 Python 中计算 : 则输出为0. 若用 C…

配置基于不同的主机名的虚拟主机

修改配置文件 <virtualhost 192.168.209.140:80> documentroot /www/haha servername www.haha.com </virtualhost><virtualhost 192.168.209.140:80> documentroot /www/xixi servername www.xixi.com </virtualhost>添加192.168.209.140IP地址 [ro…

【网络安全的神秘世界】SQL注入(下)

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 3.7 二次注入 不好挖这个漏洞&#xff0c;需要搞懂业务逻辑关系 二次注入通常是指在存入数据库时做了过滤&#xff0c;但是取…

创建react的脚手架

Create React App 中文文档 (bootcss.com) 网址&#xff1a;creat-react-app.bootcss.com 主流的脚手架&#xff1a;creat-react-app 创建脚手架的方法&#xff1a; 方法一&#xff08;JS默认&#xff09;&#xff1a; 1. npx create-react-app my-app 2. cd my-app 3. …

视频提取字幕怎么弄?5个快速获取视频字幕的方法

在忙碌而又充满活力的生活中&#xff0c;我们常常在通勤路上和午休间隙通过视频来获取信息和放松心情。 但有时候&#xff0c;我们想把视频里那些令人难忘的瞬间或关键信息保存下来&#xff0c;方便以后回顾或者分享。然而&#xff0c;手动摘录不仅费时&#xff0c;还容易漏掉…

Python爬取豆瓣电影+数据可视化,爬虫教程!

1. 爬取数据 1.1 导入以下模块 import os import re import time import requests from bs4 import BeautifulSoup from fake_useragent import UserAgent from openpyxl import Workbook, load_workbook1.2 获取每页电影链接 def getonepagelist(url,headers):try:r reque…

[A-03] ARMv8/ARMv9-多级Cache架构

ver 0.1 前言 前面文章我介绍了Cache的基本架构、Cache的详细的结构&#xff0c;有了一定的cache的基础&#xff0c;对cache机制也有了sense。实际上Cache作为CPU架构中存储机制的核心组件和CPU的微架构以及系统的总线架构还是密切相关的&#xff0c;不同的体系下&#xff0c…

在AvaotaA1全志T527开发板上使用AvaotaOS 部署 LNMP 服务

准备工作 在这之前&#xff0c;确保设备已经联网&#xff0c;可以用 ifconfig 命令查看联网状态。这里使用的是 WIFI 联网&#xff0c;可以看到已经获取了IP地址。 由于安装需要较长时间&#xff0c;建议使用 screen 后台登录&#xff0c;这里看到系统默认已经安装了 screen …

昇思25天学习打卡营第12天|ResNet50迁移学习

昇思25天学习打卡营第12天|ResNet50迁移学习 前言ResNet50迁移学习数据准备下载数据集 加载数据集数据集可视化 训练模型构建Resnet50网络固定特征进行训练训练和评估可视化模型预测 个人任务打卡&#xff08;读者请忽略&#xff09;个人理解与总结 前言 非常感谢华为昇思大模型…

昇思MindSpore学习入门-回调机制

在深度学习训练过程中&#xff0c;为及时掌握网络模型的训练状态、实时观察网络模型各参数的变化情况和实现训练过程中用户自定义的一些操作&#xff0c;MindSpore提供了回调机制&#xff08;Callback&#xff09;来实现上述功能。 Callback回调机制一般用在网络模型训练过程M…

sublime如何运行Html文件?

背景&#xff1a; 在sublime上面写了html代码以后&#xff0c;怎么运行html文件来进行debug呢&#xff1f;如果去点击保存的HTML文件&#xff0c;每次这样就会很麻烦&#xff0c;能不能直接在sublime里面点什么就可以直接打开浏览器运行呢&#xff1f;答案是OK的。 1-确认Vie…

通过营销本地化解锁全球市场

在一个日益互联的世界里&#xff0c;企业必须接触到全球各地的不同受众。营销本地化是打开这些全球市场的关键。它包括调整营销材料&#xff0c;使其与不同地区的文化和语言细微差别产生共鸣。以下是有效的营销本地化如何推动您的全球扩张&#xff0c;并用实际例子来说明每一点…

长难句打卡6.27

After about 40 minutes of shopping, most people stop struggling to be rationally selective, and instead begin shopping emotionally—which is the point at which we accumulate the 50 percent of stuff in our cart that we never intended buying. 购物约40分钟后&…

【C++】 解决 C++ 语言报错:Invalid Use of Incomplete Type

文章目录 引言 在 C 编程中&#xff0c;“Invalid Use of Incomplete Type” 是一种常见错误。此错误通常在程序试图使用未完全定义的类或结构时发生。这种错误不仅会导致编译失败&#xff0c;还可能导致程序行为不可预测。本文将详细探讨无效使用不完整类型的成因、检测方法及…

半导体切割研磨废水的处理技术

半导体切割研磨废水处理是一个复杂而关键的过程&#xff0c;其废水主要来源于切割、研磨等工艺环节&#xff0c;这些过程中使用的化学品、冷却水、洗涤水等会产生含有重金属、有机物、酸碱度不稳定以及高浓度硅化合物等污染物的废水。针对这些废水的特性&#xff0c;半导体行业…

UG NX二次开发(C#)-根据草图创建拉伸特征(UFun+NXOpen)

文章目录 1、前言2、在UG NX中创建草图,然后创建拉伸特征3、基于UFun函数的实现4、基于NXOpen的实现代码1、前言 UG NX是基于特征的三维建模软件,其中拉伸特征是一个很重要的特征,有读者问如何根据草图创建拉伸特征,我在这篇博客中讲述一下草图创建拉伸特征的UG NX二次开发…