1. @Watch装饰器
@Watch
用于对状态变量的监听。如果需要关注某个状态变量的值是否改变,可以使用@Watch
为状态变量设置回调函数。
何为状态变量?ArkTS装饰器(三)和ArkTS装饰器(四)两篇博文中介绍的装饰器,被那些装饰器修饰的变量就成为状态变量。
1.1 @Watch装饰器的特点
- 当观察到状态变量的变化对应的
@Watch
的回调方法将被触发。 - 如果在
@Watch
的方法里改变了其他的状态变量,也会引起状态变更和@Watch
的执行; - 在第一次初始化的时候,
@Watch
装饰的方法不会被调用,即认为初始化不是状态变量的改变。
ps:不要在@Watch的回调函数中,修改自身监听的状态变量,否则会造成死循环
1.2 @Watch装饰器使用示例
@Entry
@Component
struct FirstComponent {
// 使用@Watch监听count状态变量的变化
@State @Watch("myCallback") count: number = 0;
@State message: string = "@Watch回调函数被第0次调用";
// 定义一个@Watch的回调函数
myCallback() {
this.message = `@Watch回调函数被第${this.count}次调用`
}
build() {
Column() {
Text(this.message)
Button("点击count+1")
.onClick(() => {
this.count++;
})
}
}
}
2. ArkTS装饰器总结
- ArkTS装饰器(一)
- ArkTS装饰器(二)
- ArkTS装饰器(三)
- ArkTS装饰器(四)
- 本篇博文ArkTS装饰器(五)
上面罗列的五篇博文中,介绍了ArKTS
语言中的大部分装饰器。还有部分少数的装饰器,将会在介绍其它的知识点时穿插介绍。接下来会介绍ArKUI
的布局和组件,希望各位开发同学能持续关注,进一步掌握HarmonyOS的应用开发。