当前位置: 首页 > news >正文

鸿蒙HarmonyOS实战:渲染控制、路由案例

条件渲染

简单来说,就是动态控制组件的显示与隐藏,类似于vue中的v-if

但是这里写法就是用if、else、else if看起来更像是原生的感觉

效果

循环渲染

我们实际开发中,数据一般是后端返回来的对象格式,对此我们需要进行遍历,或者我们写大量死数据的时候,也不会在组件中去写大量数据,而是通过在外面定义数据,组件內直接遍历即可

这里我们没有写后端,就模拟一下常规的数据

@Entry
@Component
struct Father {@State data: string[] = ['A','B','C','D']build() {Row() {Column() {ForEach(this.data,(i)=>{Row(){Text(i).fontSize(30)}})}.width('100%')}.height('100%')}
}

我定义了一个数据data,然后通过ForEach这个函数进行遍历

效果就是这样的

我们简单介绍一下ForEach中需要的参数

这是官方的解释,我们翻译一下

第一个参数:是你想要遍历的数据,是必填的

第二个参数:是你遍历后的内容

第三个参数:类似于vuev-forkey,是一个唯一的值,这样是不是懂了,同时这个参数是选填的

这是官方的概念,就是我说的意思。如果你懂虚拟DOM的话,那么可能更好理解一些

我们改变一下数据,使其更贴近项目中的数据

数据的id主键是后端自动生成的,是唯一的,所以这个类似key值的值一般就是id,当然,具体的名字要看你的项目

效果和上面当然是一样的

关于 LazyForEach:数据懒加载,其实就是在数据量过大的时候,所有数据全部加载出来可能会造成页面卡顿,所以我们只加载一定范围內的(对于手机话,就是当前屏幕大小下的内容数据),这样可以避免不好的用户体验

用法和ForEach差不多,具体用到了咱们可以提一下

路由

到上面为止,基础的语法内容就结束了,然后我会说一下在开发中另外需要用到的基础知识

其中最常见的就是路由了,也可以说是页面之间的跳转

我们基本上就需要知道具体的函数,以及参数传递就可以了

官网提供了很多种跳转方式

  • 网站跳转:Web()
  • 组件跳转(页面):router.pushUrl()
  • 跨应用跳转:call.makeCall(),这是跳转到拨号

这里我们只讨论router.pushUrl()

那么携带参数呢

我们需要params来进行参数传递

然后在demo2页面中用getParams来进行参数接收

现在我们demo中通过paramsdemo2中传递了一个name为shaka的参数,然后demo2中用getParams接受了这个参数,并且将这个值赋值给了Text

结尾

基础部分到这里结束了,如果我想起来有那部分没说的,我会补充到这三篇基础的文章里

接下来我们将会进入到项目中,不会是一个复杂的项目,更像是一个带着大家练手的项目,可以应用一些知识

目前打算用官方的一个小项目给大家讲

因为这个例子不会涉及什么权限,比较简单,适合练手

当然,也不一定就会完全按照这个例子,但是大差不差吧


最后

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

鸿蒙HarmonyOS Next全套学习资料←点击领取!(安全链接,放心点击

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

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

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

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

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

HarmonyOS Next 最新全套视频教程

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

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

《鸿蒙开发基础》

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

《鸿蒙开发进阶》

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

《鸿蒙进阶实战》

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

大厂面试必问面试题

鸿蒙南向开发技术

鸿蒙APP开发必备

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

获取以上完整鸿蒙HarmonyOS学习资料,请点击→

纯血版全套鸿蒙HarmonyOS学习资料

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

相关文章:

  • C语言—数据在内存中的存储
  • shadertoy-安装和使用
  • hbase安装部署
  • 打开nginx连接的php页面报错502
  • 实验室自用LabVIEW软件与商用软件价格差异分析
  • C#语言进阶(二)—事件全解
  • 8086汇编 add指令学习
  • 用研究的眼光解读如何基于UVM搭建验证平台《UVM实战》(可下载)
  • 免费Syslog日志接收工具
  • 香港电讯高可用网络助力企业变革金融计算
  • python实现进度条的方法和实现代码
  • 【漏洞复现】契约锁电子签章平台 add 远程命令执行漏洞(XVE-2023-23720)
  • 【代码随想录算法训练Day43】LeetCode 518.零钱兑换II、LeetCode 377.组合总和IV、LeetCode 70.爬楼梯
  • 【玩儿】TX应用宝模拟器安装第三方APK
  • PostgreSQL源码分析——口令认证
  • Angular 2 DI - IoC DI - 1
  • echarts花样作死的坑
  • flutter的key在widget list的作用以及必要性
  • Java编程基础24——递归练习
  • Making An Indicator With Pure CSS
  • mysql中InnoDB引擎中页的概念
  • Python3爬取英雄联盟英雄皮肤大图
  • select2 取值 遍历 设置默认值
  • 阿里研究院入选中国企业智库系统影响力榜
  • 两列自适应布局方案整理
  • 如何选择开源的机器学习框架?
  • 阿里云ACE认证学习知识点梳理
  • 说说我为什么看好Spring Cloud Alibaba
  • ​如何在iOS手机上查看应用日志
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #NOIP 2014# day.1 T2 联合权值
  • #QT(TCP网络编程-服务端)
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (2)MFC+openGL单文档框架glFrame
  • (3)llvm ir转换过程
  • (C语言)fgets与fputs函数详解
  • (java)关于Thread的挂起和恢复
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (八)Flink Join 连接
  • (编译到47%失败)to be deleted
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)关于pipe()的详细解析
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .net 发送邮件
  • .NET 通过系统影子账户实现权限维持
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复