ArkTS学习笔记_自定义组件

自定义组件学习笔记

(一)、自定义组件的基本结构

1、struct:自定义组件基于struct实现

格式:

    struct + 自定义组件名 + {
   
   ...}

简单示例:

@Entry
@Component
struct Index {
   
   
  // 组件的状态  
  @State message: string = 'Hello World'
  // 组件的UI构造方法  
  build() {
   
   
    Row() {
   
   
      Column() {
   
   
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
    }
  }
}

提示:

  • 自定义组件不能有继承关系。
  • 对于struct的实例化,可以省略new。
  • struct被@Component装饰后具备组件化的能力,需要实现build()方法描述UI。
  • @Entry可以接受一个可选的LocalStorage的参数。
3、装饰器

装饰器,用于装饰类、结构、方法以及变量,并赋予其特殊的含义。
@Entry 表示该自定义组件将作为UI页面的入口组件。在单个UI页面中,最多可以使用@Entry装饰一个自定义组件。
@Component 表示自定义组件,仅能装饰struct关键字声明的数据结构。一个struct只能被一个@Component装饰。
@State 表示组件中的状态变量,状态变量变化会触发UI刷新。

(二)、成员函数/成员变量

1. 成员函数

自定义组件的成员函数为私有的,且不建议声明成静态函数

2.成员变量

自定义组件的成员变量为私有的,且不建议声明成静态变量。
自定义组件的成员变量本地初始化有些是可选的,有些是必选的。

@Component
struct MyComponent {
   
   
  private countDownFrom: number = 0;
  private color: Color =
### ArkTS 开发示例项目与笔记 #### 关于 ArkTS 的概述 ArkTS 是 HarmonyOS 推荐的主要应用开发语言,它基于 TypeScript 进行了扩展并继承了其所有特性[^1]。因此,在学习 ArkTS 时,熟悉 TypeScript 基础会非常有帮助。 --- #### 示例项目与笔记推荐 以下是几个常见的 ArkTS 开发示例项目和笔记方向: 1. **基础组件使用** 使用内置组件构建简单的 UI 页面是一个很好的起点。例如,可以通过 `Text` 和 `Button` 组件创建一个按钮点击计数器应用程序。 ```typescript @Entry @Component struct CounterApp { @State count: number = 0; build() { Column({ space: 16 }) { Text(`Count: ${this.count}`).fontSize(24).fontColor(Color.Black) Button('Increment') { onClick(() => { this.count++ }) }.padding(8) }.width('100%').height('100%') } } ``` 2. **自定义组件设计** 自定义组件ArkTS 中的重要概念之一,它们具备可组合性和可重用性,并支持数据驱动的 UI 更新[^4]。以下是一个简单自定义组件的例子: ```typescript @CustomComponent struct MyCard { @Prop title: string; @Prop content: string; build() { Stack({ width: '90%', height: 'auto', backgroundColor: Color.LightGray, padding: 16 }) { Text(this.title).fontSize(18).fontWeight(FontWeight.Bold) Text(this.content).fontSize(14).margin({ top: 8 }) } } } @Entry @Component struct App { build() { Column({ space: 16 }) { MyCard({ title: 'Title', content: 'This is a custom card.' }) }.width('100%').height('100%') } } ``` 3. **系统学习资料** 鸿蒙官方提供了一套全面的学习手册和视频教程,涵盖了 ArkTS、ArkUI 等核心知识点[^2]。这些资源可以帮助开发者快速掌握从基础到高级的应用开发技能。 4. **实际应用场景** 结合具体业务需求,可以尝试实现一些实用功能,比如天气查询、待办事项列表或新闻阅读器等。这类项目通常涉及网络请求、本地存储以及动态界面渲染等功能。 --- #### 学习建议 - 初学者可以从理解基本语法入手,逐步过渡到复杂逻辑处理。 - 多练习编写小型 Demo 应用程序,积累实践经验。 - 积极参与社区讨论和技术分享活动,获取更多灵感和支持。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值