鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:NavRouter)

news2025/1/13 13:47:36

导航组件,默认提供点击响应处理,不需要开发者自定义点击事件逻辑。

说明:

该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

子组件

必须包含两个子组件,其中第二个子组件必须为NavDestination。

说明:

子组件个数异常时:

  1. 有且仅有1个时,触发路由到NavDestination的能力失效。
  2. 有且仅有1个时,且使用NavDestination场景下,不进行路由。
  3. 大于2个时,后续的子组件不显示。
  4. 第二个子组件不为NavDestination时,触发路由功能失效。

接口

NavRouter

NavRouter()

NavRouter10+

NavRouter(value: RouteInfo)

提供路由信息,指定点击NavRouter时,要跳转的NavDestination页面。

参数:

参数名参数类型必填参数描述
valueRouteInfo路由信息

属性

除支持通用属性外,还支持以下属性:

名称参数类型描述
modeNavRouteMode指定点击NavRouter跳转到NavDestination页面时,使用的路由模式。
默认值:NavRouteMode.PUSH_WITH_RECREATE

RouteInfo10+对象说明

名称参数类型必填描述
namestring点击NavRouter跳转到的NavDestination页面的名称。
paramunknown点击NavRouter跳转到NavDestination页面时,传递的参数。

NavRouteMode枚举类型说明

名称描述
PUSH_WITH_RECREATE跳转到新的NavDestination页面时,替换当前显示的NavDestination页面,页面销毁,但该页面信息仍保留在路由栈中。
PUSH跳转到新的NavDestination页面时,覆盖当前显示的NavDestination页面,该页面不销毁,且页面信息保留在路由栈中。
REPLACE跳转到新的NavDestination页面时,替换当前显示的NavDestination页面,页面销毁,且该页面信息从路由栈中清除。

事件

名称功能描述
onStateChange(callback: (isActivated: boolean) => void)组件激活状态切换时触发该回调。返回值isActivated为true时表示激活,为false时表示未激活。
说明:
开发者点击激活NavRouter,加载对应的NavDestination子组件时,回调onStateChange(true)。NavRouter对应的NavDestination子组件不再显示时,回调onStateChange(false)。

示例

// xxx.ets
@Entry
@Component
struct NavRouterExample {
  @State isActiveWLAN: boolean = false
  @State isActiveBluetooth: boolean = false

  build() {
    Navigation() {
      NavRouter() {
        Row() {
          Row()
            .width(30)
            .height(30)
            .borderRadius(30)
            .margin({ left: 3, right: 10 })
            .backgroundColor(Color.Pink)
          Text(`WLAN`)
            .fontSize(22)
            .fontWeight(500)
            .textAlign(TextAlign.Center)
        }
        .width('90%')
        .height(60)

        NavDestination() {
          Flex({ direction: FlexDirection.Row }) {
            Text('未找到可用WLAN').fontSize(30).padding({ left: 15 })
          }
        }.title("WLAN")
      }
      .margin({ top: 10, bottom: 10 })
      .backgroundColor(this.isActiveWLAN ? '#ccc' : '#fff')
      .borderRadius(20)
      .mode(NavRouteMode.PUSH_WITH_RECREATE)
      .onStateChange((isActivated: boolean) => {
        this.isActiveWLAN = isActivated
      })

      NavRouter() {
        Row() {
          Row()
            .width(30)
            .height(30)
            .borderRadius(30)
            .margin({ left: 3, right: 10 })
            .backgroundColor(Color.Pink)
          Text(`蓝牙`)
            .fontSize(22)
            .fontWeight(500)
            .textAlign(TextAlign.Center)
        }
        .width('90%')
        .height(60)

        NavDestination() {
          Flex({ direction: FlexDirection.Row }) {
            Text('未找到可用蓝牙').fontSize(30).padding({ left: 15 })
          }
        }.title("蓝牙")
      }
      .margin({ top: 10, bottom: 10 })
      .backgroundColor(this.isActiveBluetooth ? '#ccc' : '#fff')
      .borderRadius(20)
      .mode(NavRouteMode.REPLACE)
      .onStateChange((isActivated: boolean) => {
        this.isActiveBluetooth = isActivated
      })
    }
    .height('100%')
    .width('100%')
    .title('设置')
    .backgroundColor("#F2F3F5")
    .titleMode(NavigationTitleMode.Free)
    .mode(NavigationMode.Auto)
  }
}

NavRouter

最后,有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(Harmony NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(Harmony NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(Harmony NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

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

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

相关文章

HTML基础:超链接的其他 4 种形式

你好,我是云桃桃。上次,我们聊了 HTML href 属性的网页链接,锚点链接,这次我们聊聊 href 其他 4 种常见链接。 1、电子邮件链接(mailto): 通过 mailto: 创建一个链接,点击链接会自…

使用阿里云服务器查看网站备案的方法和注意事项

随着互联网的发展,网站注册已成为在中国建设网站的必要步骤。 在使用阿里云服务器时,我们可以通过以下步骤查看网站注册状态。 备案概述: 在中国,互联网信息服务提供者必须进行登记,以监管互联网内容、规范市场运营和…

Java 输入方法 数组

目录 一、输入方法1.常用方法2.Scanner的使用3.BufferedReader的使用 二、数组1.数组的定义静态初始化数组动态初始化数组多维数组 2.数组赋值机制3.数组拷贝使用循环逐元素拷贝使用 System.arraycopy() 方法使用 Arrays.copyOf() 方法 4.数组排序5.数组合并6.数组翻转7.基于范…

Kotlin编程权威指南学习知识点预览

一、变量、常量和类型: 变量、常量以及 Kotlin 基本数据类型。变量和常量在 应用程序中可用来储值和传递数据。类型则用来描述常量或变量中保存的是什么样的数据。 1、声明变量: // 变量定义关键字 —— 变量名 —— 类型定义 —— 赋值运算符 —— 赋值var na…

【Kafka面试演练】那Kafka消费者手动提交、自动提交有什么区别?

面试官:听说你精通Kafka,那我就考考你吧 面试官:不用慌尽管说,错了也没关系😊。。。 每日分享【大厂面试演练】,本期是《Kafka系列》,感兴趣就关注我吧❤️ 面试官:你先说说Kafka由什…

cuda cudnn安装

安装 cudnn是否安装成功 注意 cudnn对应的cuda的10.0版本无win11版本 下载win10 即可

linux系统关闭防火墙和SELINUX及配置网络

一,关闭防火墙和SELINUX 当我们进入界面后,输入用户名root,以及密码,密码我们是看不见的 然后输入指令cat -n /etc/sysconfig/selinux (注意空格) 输入指令 vi /etc/sysconfig/selinux &#xf…

杂七杂八111

MQ 用处 一、异步。可提高性能和吞吐量 二、解耦 三、削峰 四、可靠。常用消息队列可以保证消息不丢失、不重复消费、消息顺序、消息幂等 选型 一Kafak:吞吐量最大,性能最好,集群高可用。缺点:会丢数据,功能较单一。 二Ra…

第十五届蓝桥杯模拟考试III_物联网设计与开发官方代码分析

目录 前言:显示界面部分: 前言: 这次模拟的效果很不好。85分,4h的限时我花了两天完成,这个时间是远远超出要求的,而且最后还只拿到56分,抛开分数高低不提,就这个用时属实蜗牛一样的速…

2024年【危险化学品经营单位安全管理人员】考试及危险化学品经营单位安全管理人员考试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品经营单位安全管理人员考试根据新危险化学品经营单位安全管理人员考试大纲要求,安全生产模拟考试一点通将危险化学品经营单位安全管理人员模拟考试试题进行汇编,组成一套危险化学品经…

安装nginx

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾…

2024/3/14打卡k倍区间(8届蓝桥杯)——前缀和+优化***

题目 给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 第一行包含两个整数 N 和 K。 以下 N…

DeePhage:预测噬菌体的生活方式

GitHub - shufangwu/DeePhage: A tool for distinguish temperate phage-derived and virulent phage-derived sequence in metavirome data using deep learning 安装 conda create -n deephage conda activate deephage pip install numpy pip install h5py pip install ten…

淘宝联盟高级API - 超级搜索api接口, 淘宝联盟商品搜索接口

淘宝联盟商品库超级搜索api接口,支持搜索商品链接、商品id,商品标题搜索,还有更多强大搜索选项。 注意:接口默认只查【含有优惠券】的商品,如果需要精确搜索,请将 has_coupon 参数设置为 false 获取接口秘…

深入理解JMM

一、什么是JMM JMM(java memory model)Java内存模型:是java虚拟机规范中定义的一组规范,用于屏蔽掉各种硬件和操作系统的内存访问差异,以实现让JAVA程序在各平台都能达到一致的并发结果。其主要规定了线程和内存之间的…

苍穹外卖问题记录(持续更新)

Day01_3.2.4前后端联调 1. 前端无法登录 (1)确保nginx服务器已经启动 (2)查看自己数据库的用户名和密码是否和老师的一样,不一样的话需要在application-dev.yml文件中把老师的用户名密码修改成自己的 老师的用户名…

面试常问,ADC,PWM

一 PWM介绍 pwm全名(Pulse Width Modulation):脉冲宽度调制 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。PWM一定程度上是数字到模拟…

植物神经功能紊乱患者每天从5片黛力新减少至2片,只因找对了治疗方法!

植物神经功能紊乱是一种常见的心理疾病,其症状包括焦虑、失眠、疲劳、头痛、胃肠不适等,给患者带来很大的困扰。然而,这种疾病是可以治疗的。本文将介绍一位植物神经功能紊乱患者的治疗经历,希望能够帮助更多的人了解和治疗此病。…

【机器学习300问】38、什么是K-means算法?

在实际工作中,我们经常会遇到这样一类问题:给机器输入大量的特征数据,并期望机器通过学习找出数据存在的某种共性特征、结构或关联。这类问题被称为“非监督学习”问题。这篇文章我就来聚焦非监督学习中的其中一个任务——聚类 例如在数字营销…

F-logic DataCube3 任意文件上传漏洞复现(CVE-2024-25832)

0x01 产品简介 F-logic DataCube3是一款用于光伏发电系统的紧凑型终端测量系统。 0x02 漏洞概述 F-logic DataCube3 /admin/setting_photo.php接口处存在任意文件上传漏洞 ,未经身份验证的攻击者可通过该漏洞在服务器端写入后门,获取服务器权限,进而控制整个web服务器。 …