@Trace:类属性变化观测

@Trace是属性装饰器,用于状态管理V2中。@ObservedV2与@Trace配套使用,装饰类以及类中的属性,使得被装饰的类和属性具有深度观测的能力。

开发指南参考:@ObservedV2装饰器和@Trace装饰器:类属性变化观测

说明:

从API version 12开始,支持该装饰器。

@Trace

const Trace: PropertyDecorator

模型约束: 此接口仅可在Stage模型下使用。

原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。

卡片能力: 从API version 12开始,该接口支持在ArkTS卡片中使用。

系统能力: SystemCapability.ArkUI.ArkUI.Full

示例:

@ObservedV2
class Son {
  // 使用@Trace属性装饰器标记需要观测的属性,属性变化时触发UI刷新
  @Trace age: number = 100;
}
class Father {
  son: Son = new Son();
}
@Entry
@ComponentV2
struct Index {
  father: Father = new Father();

  build() {
    Column() {
      Text(`${this.father.son.age}`)
        // 点击后age值加1,由于@Trace装饰器,UI会自动刷新
        .onClick(() => {
          this.father.son.age++;
        })
    }
  }
}