HarmonyOS NEXT应用开发——Navigation开发 页面切换场景范例

简介

在应用开发时,我们常常遇到,需要在应用内多页面跳转场景时中使用Navigation导航组件做统一的页面跳转管理,它提供了一系列属性方法来设置页面的标题栏、工具栏以及菜单栏的各种展示样式。除此之外还拥有动态加载,navPathStack路由跳转。

本文就以Navigation页面切换范例为例,来展开讲解Navigation以上的技术点,帮助开发者快速学习。

场景概述

ArkUI中,应用内导航组件Navigation一般作为Page页面的根容器, Navigation组件主要包含主页和内容页。
主页内容区默认首页显示导航内容(Navigation的子组件) 或非首页显示(NavDestination的子组件),首页和非首页通过路由进行切换。
Navigation的路由切换的方式有两种,本次示例主要介绍NavPathStack的使用。

  • 在API Version 9上,首页导航内容需要配合NavRouter组件实现页面路由。
  • 从API Version 10开始,首页推荐使用NavPathStack配合NavDestination属性进行页面路由。

通过本篇文章的学习,你将学会:
1.如何使用NavPathStack路由转场
2.如何在Navigation中跨包引用hsp
3.如何在Navigation中使用动态加载

Router与Navigation适用场景对比

组件适用场景特点转场动画效果对比
Router模块间与模块内页面切换通过每个页面的url实现模块间解耦页面平推转场效果
Navigation模块内页面切换通过组件级路由统一路由管理向右折叠转场效果

使用NavPathStack路由转场

  • NavPathStack有两种路由切换方法,一种是pushPath,如主页---->设置页面,通过使用this.pageStack.pushPath({ name: url })进行跳转,另外一种是pushPathByName,如主页---->详情页面,通过使用this.pageStack.pushPathByName(name, item)进行跳转,其中item为需要传递的参数。

    • NavPathStack支持pop、move、clear方法的使用;pop方法的作用是弹出路由栈栈顶元素,如首页进入商品详情页面,在详情页面使用this.pageStack.pop()方法返回到首页,clear方法的作用是清除栈中所有页面, 如首页跳转到详情页面,详情页面再进入直播页面,在直播页面通过使用this.pageStack.clear()直接返回到首页。除此之外,还有popTo(回退路由栈到第一个名为name的NavDestination页面)、 popToIndex(回退路由栈到index指定的NavDestination页面)、moveToTop(将第一个名为name的NavDestination页面移到栈顶)、moveIndexToTop(将index指定的NavDestination页面移到栈顶)方法, 由于本示例暂时没有合适的按钮去承载这些功能,所以本示例未体现。

    • 路由栈信息,如下所示

获取栈中所有NavDestination页面的名称:this.pageInfos.getAllPathName()
获取index指定的NavDestination页面的参数信息:this.pageInfos.getParamByIndex(1)
获取全部名为name的NavDestination页面的参数信息:this.pageInfos.getParamByName('pageTwo')
获取全部名为name的NavDestination页面的位置索引:this.pageInfos.getIndexByName('pageOne')
获取栈大小:this.pageInfos.size()

实现思路

通过this.pageStack.pushPath({ name: url param: item })进行页面之间的跳转,navpathstack详情。

开发步骤

通过onclick事件调用NavPathStack.pushPath方法跳转页面。源码参考MainPage.ets

Column()
  .onClick(() => {
    this.pageStack.pushPath({ name: listData.moduleName, param: listData.param });
  })

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:https://qr21.cn/FV7h05

入门必看:https://qr21.cn/FV7h05
1.  应用开发导读(ArkTS)
2.  ……

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门:https://qr21.cn/FV7h05
1.  基本概念
2.  构建第一个ArkTS应用
3.  ……

开发基础知识:https://qr21.cn/FV7h05
1.  应用基础知识
2.  配置文件
3.  应用数据管理
4.  应用安全管理
5.  应用隐私保护
6.  三方应用调用管控机制
7.  资源分类与访问
8.  学习ArkTS语言
9.  ……

基于ArkTS 开发:https://qr21.cn/FV7h05
1.  Ability开发
2.  UI开发
3.  公共事件与通知
4.  窗口管理
5.  媒体
6.  安全
7.  网络与链接
8.  电话服务
9.  数据管理
10.  后台任务(Background Task)管理
11.  设备管理
12.  设备使用信息统计
13.  DFX
14.  国际化开发
15.  折叠屏系列
16.  ……

鸿蒙开发面试真题(含参考答案):https://qr21.cn/FV7h05

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年最新Android大厂面试笔试题分享,大厂面试题汇总

随着互联网的发展,大众对程序员这个职业有了更多的了解,除了高薪工资之外,压力太大,黑白颠倒,作息不规律等等,也是身为一个程序员必须经历的事情。 大部分程序员都是安静的、稳重的,有什么问题…

算法简单试题

一、选择题 01.一个算法应该是( B ). A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C 02.某算法的时间复杂度为O(n),则表示该…

探索AntDB:数据驱动时代的引擎

AntDB的发展道路一直如一条平稳而高效的航线,其升级过程始终是经过细致策划与多方验证。每一次的版本更新,都蕴含着团队的心血和智慧,保障系统的稳定与性能。AntDB在高速发展的同时,始终不忘稳扎稳打,为用户提供最优质…

基于java的宠物常规护理知识管理系统

项目源码:https://gitee.com/oklongmm/biye2 在设计一个宠物常规护理知识管理系统时,我们需要考虑系统的可扩展性,易用性和稳定性。以下是系统设计的功能模块: 一、用户模块: 1. 注册与登录:用户可以通过…

新书速览|软件性能测试、分析与调优实践之路(第2版)

性能调优理论和实践的完美结合,融合作者多年性能调优的经验,读者无须再为性能问题而发 本书内容 《软件性能测试、分析与调优实践之路(第2版)》主要分享作者在多年软件测试从业中积累的关于性能测试、分析诊断与调优技巧等方面的实…

全排列 全排列 II N皇后

46.全排列 力扣题目链接(opens new window) 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ] 递归终止条件:当收集元素的数组path的大小达到和nums数组…

Vue3和Vue2的相关面试知识点,一点要记住

Vue3 1、Vue2 和 Vue3 的区别? vue3 对于 typescript 的支持更加的好 vue3 的 Composition API, vue2 的 Option API vue3 打包使用 tree-shaking 策略,体积更小 vue3 在模板编译的阶段会有静态节点提升,运行时性能更好 vue3…

解码Transformer: 自注意力机制和TA的优化策略

注意力机制自从2014年被正式提出后,逐渐成为了NLP中应用最广泛的设计。借助简单而又变幻莫测的Attention机制,一系列横扫SOTA的模型被提出。自注意力机制(Self-Attention),允许序列中的标记相互交互,并计算…

msvcr120.dll丢失怎样修复,更了解msvcr120.dll文件从而解决丢失问题

在电脑使用过程中,"msvcr120.dll丢失"是常见的错误提示之一。那么,今天就和大家聊聊msvcr120.dll文件,如果msvcr120.dll文件丢失的问题时什么原因导致的,让我们仔细来看一下msvcr120.dll是什么以及msvcr120.dll丢失怎样…

反射(重点)

1.反射的概述 Java给我们提供了一套API,使用这套API我们可以在运行时动态的获取指定对象所属的类,创建 运行时类的对象,调用指定的结构,(属性,方法)等 API: java.lang.Class:代表一个类 jav…

游戏力:竞技游戏设计实战教程

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 游戏力:竞技游戏设计实战教程 引言…

高中数学:单调奇偶综合(较难)

一、奇偶性扩展 1、普通轴对称函数 要会根据抽象函数的关系,找出对称轴 简便记法:纵相等,对称轴 2、普通中心对称函数 要会找出对称中心点坐标 简便记法:纵和定,中心点 二、题型汇总 解题方法 抽象函数 1、…

社交媒体革新者:揭秘Facebook对在线互动的影响

1. Facebook的兴起与发展 Facebook由马克扎克伯格在哈佛大学宿舍创建,最初只是服务于哈佛大学学生的社交网络。然而,其后快速扩张到其他大学和全球,成为了全球最大的社交媒体平台之一。其发展历程不仅是数字时代的典范,也是创业成…

史上最大优惠!阿里云宣布全线降价99元一年,新老客户同享

2024阿里云服务器优惠活动政策整理,阿里云99计划ECS云服务器2核2G3M带宽99元一年、2核4G5M优惠价格199元一年,轻量应用服务器2核2G3M服务器61元一年、2核4G4M带宽165元1年,云服务器4核16G10M带宽26元1个月、149元半年,云服务器8核…

证件照制作繁琐?学会这三招轻松制作专业级证件照!

朋友们,您是否曾经为了办理各种证件、报名考试或者求职简历中的证件照而烦恼呢?是否希望能在家就能便捷高效地制作出符合规格的专业证件照?今天我将为大家推荐三款国内外备受好评的证件照处理工具,让您随时随地拥有完美证件照&…

AI领域再出“王炸“----Claude3是否会成为下一个“神“

目录 一.Claude3最新发布 二.Claude3支持20万token 三.Claude3在未公开算法上取得重大突破 1.Claude 3读懂博士论文 2.量子跃迁集成: Claude 3智商:101 测试方法 测试细节 通过Karpathy挑战 Claude 3自画像,突破本我 从洛杉矶排到…

蚂蚁感冒c++

题目 思路 “两蚂蚁碰面会掉头,若其中一只蚂蚁感冒了,会把感冒传染给碰到的蚂蚁”,这句话看作是“两蚂蚁碰面会互相穿过,只是把感冒的状态传给了另一只蚂蚁”,因为哪只蚂蚁感冒了并不是题目的重点,重点是有…

浅谈块存储、文件存储、对象存储

**块存储、文件存储和对象存储各自有其独特的特点和适用场景**。具体来说: 1. **块存储**: - 描述:块存储将存储空间分割成固定大小的块,这些块可以直接映射到主机操作系统。它提供的是原始的存储空间,不带文件系统…

Jmeter接口测试参数化

一、前言 接口测试组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性。 我们在测试过程中需要考虑不同的输入组合,来覆盖不同的测试范围;除此之外,系统中往往…

Cluade3干货:超越GPT,模型特点分析+使用教程|2024年3月更新

就在刚刚,Claude 发布了最新的大模型 Claude3,并且一次性发布了三个模型,分别是 Claude 3 Haiku:(日本俳句 )Claude 3 Sonnet(英文十四行诗)Claude 3 Opus(古典乐作品集…