HarmonyOS4.0 ArkTS基本语法

一、项目目录结构

在这里插入图片描述

二、HelloWorld

当我们创建一个新的page时,IDE会给我们生成一个HelloWorld的模板

  • 新建page
    在这里插入图片描述

    在这里插入图片描述

  • 开启预览器
    在这里插入图片描述

三、ArkTS基本组成

在这里插入图片描述

  • 装饰器: 用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,@State表示组件中的状态变量,状态变量变化会触发UI刷新。
  • UI描述:以声明式的方式来描述UI的结构,例如build()方法中的代码块。
  • 自定义组件:可复用的UI单元,可组合其他组件,如上述被@Component装饰的struct Hello。
  • 系统组件:ArkUI框架中默认内置的基础和容器组件,可直接被开发者调用,比如示例中的Column、Text、Divider、Button。
  • 属性方法:组件可以通过链式调用配置多项属性,如fontSize()、width()、height()、backgroundColor()等。
  • 事件方法:组件可以通过链式调用设置多个事件的响应逻辑,如跟随在Button后面的onClick()。
  • 系统组件、属性方法、事件方法具体使用可参考基于ArkTS的声明式开发范式。

四、ArkTS组成详解

  • Struct
    • 自定义组件,可复用UI单元
  • @Component
    • 标记自定义组件
  • @Entry
    • 标记当前组件是入口组件

    • 程序启动进入首页,那么首页需要设置为入口组件,并且在首页中点击进入另一个页面,那么这个页面也要被设置入口组件

    • 如果一个组件没有被设置@Entry,它就是一个普通组件,不能直接显示,必须被其他的入口组件进行引用才能显示

  • @State
    • 标记该变量是一个状态变量,值的变化会触发UI刷新
  • Build
    • build函数是UI描述,其内部以声明式方式描述UI结构
  • Row
    • Row内置组件中的容器组件,是ArkUI提供的组件,用来完成页面布局,行式布局
  • Column
    • Column内置组件中的容器组件,是ArkUI提供的组件,用来完成页面布局,列式布局
  • Text
    • 是内置组件中的基础组件(文本组件),自带样式和功能的页面元素
  • 属性方法
  • Text
    • 是内置组件中的基础组件(文本组件),自带样式和功能的页面元素
  • 属性方法
    • 如果对基础组件自带的样式不满意,可以调用它的属性方法进行修改

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

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

相关文章

软考113-上午题-【计算机网络】-IPv6、无线网络、Windows命令

一、IPv6 IPv6 具有长达 128 位的地址空间,可以彻底解决 IPv4 地址不足的问题。由于 IPv4 地址是32 位二进制,所能表示的IP 地址个数为 2^32 4 294 967 29640 亿,因而在因特网上约有 40亿个P 地址。 由 32 位的IPv4 升级至 128 位的IPv6&am…

LeetCode 216. 组合总和 III

解题思路 dfs,和全排列的写法类似。 相关代码 class Solution {int a[] new int[9];List<Integer> path new ArrayList<>();boolean st[] new boolean[10];List<List<Integer>> res new ArrayList<>();public List<List<Integer>…

Samba实现windows和Linux共享文件,环境搭建

​ 搭建步骤 安装sambad sudo apt-get install samba samba-common 创建samba用户和密码 此处使用 Linux 账号和密码作为 samba 的账号和密码。Linux 账号为 shelmean shelmeanmachine:[~] $ sudo smbpasswd -a shelmean New SMB password: Retype new SMB password: Add…

【算法】环形链表

题目 给定一个链表&#xff0c;判断链表中是否有环&#xff0c;并返回结果。 原理 遍历 声明一个Set&#xff0c;遍历链表放入Set&#xff0c;如果放入失败&#xff0c;说明有环。 双指针 声明一个快指针和一个慢指针&#xff0c;快指针每次移动两步&#xff0c;慢指针移…

从唯一序列码、单例模式到集群的思考

唯一序列码 在做实际业务开发中&#xff0c;不定时需要用到序列号的生成&#xff0c;要求为唯一序列码。 在实际的实现过程中&#xff0c;我常用的是两种方式&#xff1a;1、数据库自增序列&#xff1b;2&#xff1a;uuid. 如果是采用了mysql数据库&#xff0c;使用自带的数…

Qt快速入门到熟练(3.程序运行发布与设置图标)

程序运行发布 当我们执行过qt过后&#xff0c;将会在项目目录里面生成出一个debug构建目录&#xff0c;点击进去选择debug文件夹&#xff0c;就可以看到我们生成出来的可执行文件。 很显然我们的项目就叫做MyFirstWidget&#xff0c;所以生成的可执行文件在没有人为设置的情…

idea链接gitlab的token到期

报错 HTTP Request Request GET http://36.46.143.158:6060/api/v4/version failed wit

基于javaJSPssm实现的交通档案管理系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…

LVS NAT、DR、FULL-NAT 模式介绍

NAT模式 NAT模式下的转发流程 1. CIP ---> VIP 当请求达到调度器时&#xff0c;此时请求会先达到PREROUTING链&#xff0c;这个时候源IP为CIP 目标IP为VIP 2. CIP ---> RIP 当内核检测到访问的IP是本机是&#xff0c;会将数据包发送到INPUT链&#xff0c;IPVS检测到数…

VM虚拟机部署code-server服务+tailscale内网穿透,实现随处coding

1.Linux下安装code-server Releases coder/code-server (github.com)https://github.com/coder/code-server/releases先去发布页面查看最新的code-server版本&#xff0c;下载命令示例&#xff1a; wget https://github.com/coder/code-server/releases/download/v4.22.1/co…

【操作系统】STM32-操作系统——持续更新

【操作系统】STM32-操作系统——持续更新 文章目录 前言一、ucosii二、freertos1.介绍2.移植 总结 前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、ucosii UCOSII移植到STM32F103C8T6上之移植记录&#xff08;一&#xff09; UCOSII移植到ST…

物联网实战--入门篇之(九)安卓QT--开发框架

目录 一、QT简介 二、开发环境 三、编码风格 四、设计框架 五、总结 一、QT简介 QT是一款以C为基础的开发工具&#xff0c;已经包含了很多常用的库&#xff0c;除了基本的GUI以外&#xff0c;还有网络、数据库、多媒体、进程通信、串口、蓝牙等常用库&#xff0c;开发起来…

万字长文,大数据PowerBI面试题及参考答案

1. 如何在PowerBI中创建计算列? 在PowerBI中,计算列是通过对现有数据应用公式来创建的新列。这允许用户进行更复杂的数据分析和数据准备。以下是创建计算列的基本步骤: 打开PowerBI Desktop。在“数据”选项卡中,选择“新建列”。输入新列的名称,并在公式栏中编写DAX公式…

好看流光风格个人主页HTML源码

这是一款好看流光风格个人主页HTML源码&#xff0c;感觉挺喜欢的&#xff0c;需要的自行下载&#xff01; 源码下载 好看流光风格个人主页源码

数字化大变革下的企业新生态

在这个数字化大变革的时代&#xff0c;企业所面临的挑战和机遇。要成功应对这一变革&#xff0c;企业需要摆脱野蛮生长阶段&#xff0c;重新审视企业的基本常理和底层逻辑。中国企业发展到今天&#xff0c;要迎接外部环境的不确定性和高度复杂性&#xff0c;摆脱“大而肥、大而…

SpringBoot3整合RabbitMQ之三_工作队列模型案例

SpringBoot3整合RabbitMQ之三_工作队列模型案例 文章目录 SpringBoot3整合RabbitMQ之三_工作队列模型案例2. 工作队列模型1. 消息发布者1. 创建工作队列的配置类2. 发布消费Controller 2. 消息消费者One3. 消息消费者Two4. 消息消费者Three5. 输出结果 2. 工作队列模型 1. 消息…

SGD随机梯度下降

一、补充概念&#xff1a; 目标函数&#xff08;Objective Function&#xff09;&#xff1a;这个术语通常指的是整个优化问题中需要最小化&#xff08;或最大化&#xff09;的函数。在机器学习和优化中&#xff0c;目标函数可以包括损失函数以及正则化项等。目标函数的最优化过…

代码随想录算法训练营day31

122_买卖股票的最佳时机&#xff08;看了题解&#xff09; 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。 在每一天&#xff0c;你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买&#xff0c;然后…

怎么转换图片格式jpg?分享几种转换的方法

我们都知道现在图片格式种类非常多&#xff0c;比较常用的有jpg、png、webp等&#xff0c;很多时候&#xff0c;我们在网上保存的照片不是jpg格式的&#xff0c;查看或者编辑起来就很麻烦&#xff0c;这时候你可能需要将图片转换成jpg格式&#xff0c;那怎么转换图片格式jpg呢?…

【CNN】ConvMixer探究ViT的Patch Embedding: Patches Are All You Need?

Patches Are All You Need? 探究Patch Embedding在ViT上的作用&#xff0c;CNN是否可用该操作提升性能&#xff1f; 论文链接&#xff1a;https://openreview.net/pdf?idTVHS5Y4dNvM 代码链接&#xff1a;https://github.com/tmp-iclr/convmixer 1、摘要 ViT的性能是由于T…