ArkTS概述——【坚果派——红目香薰】

举报
红目香薰 发表于 2024/03/31 17:59:29 2024/03/31
【摘要】 ​ 摘要作者:红目香薰团队:坚果派 团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若干其他领域的三十余位万粉博主运营。 目录摘要HarmonyOS应用开发语言——ArkTS概述ArkTS语言特点基本语法声明式UI状态管理渲染控制总结HarmonyOS应用开发语言——ArkTS概述ArkTS是HarmonyOS应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上...

 摘要

作者:红目香薰
团队:坚果派
团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若干其他领域的三十余位万粉博主运营。 

目录

摘要

HarmonyOS应用开发语言——ArkTS概述

ArkTS语言特点

基本语法

声明式UI

状态管理

渲染控制

总结


HarmonyOS应用开发语言——ArkTS概述

ArkTS是HarmonyOS应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。

ArkTS是HarmonyOS主力应用开发语言。为便于熟悉Web前端的开发者快速上手,HarmonyOS在UI开发框架中,还提供了"兼容JS的类Web开发范式"。它通过模板、样式、逻辑三段式来构建相应的应用UI界面,并结合相应的运行时实现了优化的运行体验。

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。 ​编辑

声明式UI

• 创建组件

• 配置属性

• 配置事件

• 配置子组件

状态管理

• 状态变量:被状态装饰器装饰的变量,改变会引起UI的渲染更新。

• 常规变量:没有状态的变量,通常应用于辅助计算。它的改变永远不会引起UI的刷新。

• 数据源/同步源:状态变量的原始来源,可以同步给不同的状态数据。通常意义为父组件传给子组件的数据。

• 命名参数机制:父组件通过指定参数传递给子组件的状态变量,为父子传递同步参数的主要手段。示例:CompA: ({ aProp: this.aProp })。

• 从父组件初始化:父组件使用命名参数机制,将指定参数传递给子组件。本地初始化的默认值在有父组件传值的情况下,会被覆盖。

• 初始化子节点:组件中状态变量可以传递给子组件,初始化子组件对应的状态变量。示例同上。

• 本地初始化:变量声明的时候赋值,作为初始化的默认值。示例:@State count: number = 0。

渲染控制

• ArkUI通过自定义组件的build函数和@builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数据快速生成组件的循环渲染语句以及针对大数据量场景的数据懒加载语句。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。