@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化
上文所述的装饰器仅能观察到第一层的变化,但是在实际应用开发中,应用会根据开发需要,封装自己的数据模型。对于多层嵌套的情况,比如二维数组,或者数组项class,或者class的属性是class,他们的第二层的属性变化是无法观察到的。这就引出了@Observed/@ObjectLink装饰器。
定义类,加上@ObServed装饰器
@Observed
export class testClass{
name:string=''
age:string=''
}
声明自定义组件,使用@ObjectLink声明变量
@Component
export default struct ObjComp{
@ObjectLink obj:testClass
//测试打印
aboutToAppear(): void {
Log.info(JSON.stringify(this.obj))
}
build() {
}
}