开启鸿蒙HarmonyOS之旅(三:渲染控制、路由)

前言

在之前我们已经完成了ArcTS基础语法的学习,也学习了组件通信

这节我们介绍剩余的较为常用的基础知识,然后下一节直接上项目

需要说的是,我本身用vue很多,也很喜欢它,所以很多知识点我会向vue那里去靠,方便理解

所以希望大家不要介意

好的,我们开始吧~

渲染控制

条件渲染

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

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

效果

循环渲染

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

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

ts 复制代码
@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

结尾

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

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

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

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

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

至于更复杂的app我打算写完后再与大家分享

需要说的是,如果你之前用过微信的云开发,或者是uni的全栈,那么你入手鸿蒙的云开发也很容易,基本上无缝衔接,看看有机会的话可以分享一下~

咱们项目中见吧~

相关推荐
瓢儿菜201811 分钟前
Web开发:什么是 HTTP 状态码?
前端·网络协议·http
1024小神30 分钟前
swiftui使用WKWebView加载自签的https服务,允许不安全访问
前端
anyup32 分钟前
支持鸿蒙!开源三个月,uView Pro 开源库近期更新全面大盘点,及未来计划
前端·vue.js·uni-app
BBB努力学习程序设计1 小时前
用Bootstrap一天搞定响应式网站:前端小白的救命稻草
前端·html
嘴平伊之豬1 小时前
跟着AI速度cli源码三-交互问答系统
前端·node.js
用户0136087566881 小时前
前端支持的主要数据类型及其使用方式
前端
代码搬运媛1 小时前
SOLID 原则在前端的应用
前端
lecepin1 小时前
AI Coding 资讯 2025-11-17
前端
孟祥_成都1 小时前
下一代组件的奥义在此!headless 组件构建思想探索!
前端·设计模式·架构
灰太狼大王灬2 小时前
Telegram 自动打包上传机器人 通过 Telegram 消息触发项目的自动打包和上传。
前端·机器人