鸿蒙NEXT开发-页面路由(基于最新api12稳定版)

server/2024/10/19 2:16:55/

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下

如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识

专栏地址: https://blog.csdn.net/qq_56760790/category_12794123.html

目录

1. 基本介绍

2. 新建页面

2.1 第一种方式

2.2 第二种方式

3. 页面的跳转和后退

4. 页面栈

5. 路由模式

6. 路由传参

 7. 学习地址

1. 基本介绍

页面路由指的是在应用程序中实现不同页面之间的跳转,以及数据传递。

路由这块知识点包括:

1、创建页面

2、页面跳转和后退

3、页面栈

4、路由模式

5、跳转传参

2. 新建页面

router的使用都是基于Entry修饰的组件

都是基于resources/base/profile/main-page.json中的路由配置来跳转的

2.1 第一种方式

无需手动去resources/base/profile/main-page.json中的路由配置,工具自动给我们生成

2.2 第二种方式

需要手动去resources/base/profile/main-page.json中的路由配置

@Entry
@Component
struct Detail {@State message: string = 'Hello World';build() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)}.height('100%').width('100%')}
}

3. 页面的跳转和后退

其中pushUrl会在当前页面层级再加一层页面,不管是不是同一个页面,

A -> B 相当于当前页面栈中存在两个页面 A和B

鸿蒙系统最多页面栈为32

4. 页面栈

页面栈是用来存储程序运行时页面的一种数据结构,遵循先进后出的原则

页面栈的最大容量是32个页面

压栈

router.pushUrl()

获取页面栈的长度

router.getLength()

清空页面栈

router.clear()

5. 路由模式

路由提供了两种不同的跳转模式

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

2、Single:如果目标页面已存在,会将已有的最近同url页面移到栈顶(看情况使用)

Button('点我').onClick(() => {router.pushUrl({url: 'pages/Edit'},router.RouterMode.Standard)
})

6. 路由传参

Button('点我').onClick(() => {router.pushUrl({url: 'pages/Edit',params:{name:'东林'}},router.RouterMode.Standard)
})

aboutToAppear(): void {console.log(JSON.stringify(router.getParams()))
}

 7. 学习地址

全网首发鸿蒙NEXT星河版零基础入门到实战,2024年最新版,企业级开发!视频陆续更新中!_哔哩哔哩_bilibili


http://www.ppmy.cn/server/130447.html

相关文章

Spring 依赖注入(Dependency Injection)

先说结论: 实际开发时尽量选择 构造器注入 而不是 字段注入。 设值注入 和 方法注入 适用的场景较少,较特殊。 原因: ● 官方推荐使用! ● 代码更简洁:配合 Lombok 的 RequiredArgsConstructor,可以自动生成…

mybatisplus整合springboot3出错(springboot多模块开发)

1.mybatisplus版本太低或者maven导入没用如下的 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.5</version></dependency>2.maven导入冲突了&#xf…

CSDN 的 GIt 是没东西吗

虽然说吧 CSDN 的博客也就那样&#xff0c;记得去年的时候 CSDN 出了一个 Git 代码库&#xff0c;被骂得要死&#xff0c;基本上是从外面搬了一堆代码回来。 这回 CSDN 又玩了个新东西&#xff0c;干脆你可以把你的博客文章同步到你在 CSDN 开的代码库上了。 如何同步 在 CS…

使用GPG学习非对称加密 信任公钥

非对称加密需要公钥和私钥&#xff1a; 你的公钥的作用&#xff1a;别人用来给你发加密的信息&#xff06;别人验证你的签名&#xff0c;即加密&验证&#xff08;别人来做&#xff09; 你的私钥的作用&#xff1a;你用来创建签名&#xff06;解密别人发给你的信息的&#x…

QD1-P16 HTML 按钮标签(button)

本节学习 HTML 常用标签&#xff1a;button ‍ 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p16 ‍ ​<button>​ 标签在 HTML 中用于创建按钮&#xff0c;它是一个交互式元素&#xff0c;通常用于提交表单或触发某个脚本。以下是 <button>​ 标签的一些基本…

《网络安全:数字时代的坚实护盾》

《网络安全&#xff1a;数字时代的坚实护盾》 在当今高度数字化的时代&#xff0c;网络安全的重要性如同空气对于生命一般不可或缺。它不仅关乎个人的隐私与财产安全&#xff0c;更对企业的生存发展和国家的稳定繁荣起着至关重要的作用。 对于个人而言&#xff0c;网络安全是保…

标杆案例 | “1+N+X”破局中小企业数字化难题,蓝卓助力瓯宝安防实现透明生产

在数字化转型的浪潮中&#xff0c;中小企业正逐渐成为变革的主力军。 然而&#xff0c;量大面广的中小企业却普遍存在“缺资金&#xff0c;不愿做”“缺人才&#xff0c;不敢做”“缺样本&#xff0c;不会做”现象&#xff0c;亟需一条“低成本”“低门槛”“轻量化”“可复制…

Linux系列-常见的指令(二)

&#x1f308;个人主页&#xff1a; 羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” mv 剪切文件&#xff0c;目录 重命名 比如说&#xff0c;我们在最开始创建一个新的文件hello.txt 然后我们将这个文件改一个名字&#xff0c;改成world.txt 所以&#xff0c;…