HarmonyOS 开发注解全解
·
HarmonyOS 开发注解全解
在鸿蒙(HarmonyOS)开发中,注解(Annotation)是一种用于描述代码中的信息的元数据,它们不会改变程序的执行流程,但可以用于在编译时或运行时对代码进行解析和操作。鸿蒙开发中常见的注解及其用途包括但不限于以下几点
一、核心组件注解
| 注解 | 作用域 | 功能说明 |
|---|---|---|
@Entry | struct | 标记Ability入口组件,每个模块唯一(如@Entry struct MainPage) |
@Component | struct | 声明可复用UI组件,必须包含build()方法 |
@Builder | function | 自动生成构建类代码,支持链式调用(API9+支持异步构建) |
二、状态管理注解
| 注解 | 同步机制 | 典型场景 |
|---|---|---|
@State | 组件内双向 | 局部状态管理,支持复杂类型嵌套观测 |
@Prop | 父→子单向 | 接收父组件数据(深拷贝机制) |
@Link | 父子双向 | 建立数据绑定,避免深拷贝开销 |
@Observed | class | 标记可观察对象,需配合@ObjectLink使用 |
@ObjectLink | 跨设备 | 实现多设备协同场景的状态同步 |
三、依赖注入注解
| 注解 | 注入目标 | 说明 |
|---|---|---|
@Autowired | 成员变量 | 自动注入服务实例(如@Autowired abilityContext: AbilityContext) |
@AbilityContext | 方法参数 | 获取当前Ability上下文 |
四、安全与权限控制
| 注解 | 应用层级 | 功能 |
|---|---|---|
@RequiresPermission | 方法/类 | 声明所需权限(如@RequiresPermission('ohos.permission.INTERNET')) |
@Syscap | 模块级 | 声明系统能力需求(编译时校验) |
五、存储与配置
| 注解 | 数据类型 | 特性 |
|---|---|---|
@StorageProp | 基本类型 | 自动持久化到本地(应用退出后保留) |
@LayoutConfig | 组件类 | 定义页面布局参数(如@LayoutConfig(orientation=LayoutOrientation.VERTICAL)) |
六、高级特性注解
| 注解 | 版本要求 | 说明 |
|---|---|---|
@Reusable | API7+ | 组件实例复用(降低内存开销) |
@Track | API11+ | 属性级变化追踪(性能优化) |
@ContentUri | 媒体资源 | 跨应用资源引用(需声明ohos.permission.READ_MEDIA权限) |
最佳实践建议:
- 组合使用
@Provide+@Consume替代多层@Prop传递@State变量应尽量扁平化以提升渲染性能- 使用
@Watch监听特定状态变化(API9+)- 通过
Previewer实时预览注解效果
更多推荐

所有评论(0)