跳到主要内容

UI装饰器总览

在声明式UI开发范式中,UI是程序状态的运行结果,状态的变化会驱动UI的刷新。ArkUI提供了一套装饰器机制,使开发者能够便捷地定义和管理状态变量,实现数据与UI的联动。

ArkUI包含的V2状态管理装饰器列表如下:

V2状态管理装饰器装饰器说明
@ComponentV2创建自定义组件。
@Local组件内部状态。
@Param组件外部输入。
@Once初始化同步一次。
@Event规范组件输出。
@Provider与后代状态双向同步。
@Consumer与祖先状态双向同步。
@Monitor状态变量修改异步监听。
@SyncMonitor状态变量修改同步监听。
@Computed计算属性。
@ObservedV2标记类可观察。
@Trace标记类属性可观察。
@Type标记类属性的类型。
@ReusableV2标记组件可复用。

ArkUI包含的V1状态管理装饰器列表如下:

V1状态管理装饰器装饰器说明
@Component创建自定义组件。
@State基础状态变量。
@Prop建立父子状态单向同步。
@Link建立父子状态双向同步。
@ObjectLink嵌套类对象属性变化观察。
@Provide与后代状态双向同步。
@Consume与祖先状态双向同步。
@Watch状态变量变化监听。
@StorageLink与AppStorage中对应的属性建立双向数据同步。
@StorageProp与AppStorage中对应的属性建立单向数据同步。
@LocalStorageLink与LocalStorage中对应的属性建立双向数据同步。
@LocalStorageProp与LocalStorage中对应的属性建立单向数据同步。
@Observed标记类可观察。
@Track类对象属性级更新。
@Reusable标记组件可复用。

ArkUI包含的通用UI装饰器列表如下:

通用装饰器装饰器说明
@Builder自定义构建函数。
@LocalBuilder维持组件关系。
@BuilderParam引用@Builder函数。
@Styles定义组件重用样式。
@Extend定义扩展组件样式。
@AnimatableExtend定义可动画属性。
@Require校验构造传参。
@Env环境变量。