@Watch
用于对状态变量的监听。如果需要关注某个状态变量的值是否改变,可以使用@Watch
为状态变量设置回调函数。
何为状态变量?ArkTS装饰器(三)和ArkTS装饰器(四)两篇博文中介绍的装饰器,被那些装饰器修饰的变量就成为状态变量。
@Watch
的回调方法将被触发。@Watch
的方法里改变了其他的状态变量,也会引起状态变更和@Watch
的执行;@Watch
装饰的方法不会被调用,即认为初始化不是状态变量的改变。ps:不要在@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++;
})
}
}
}
上面罗列的五篇博文中,介绍了ArKTS
语言中的大部分装饰器。还有部分少数的装饰器,将会在介绍其它的知识点时穿插介绍。接下来会介绍ArKUI
的布局和组件,希望各位开发同学能持续关注,进一步掌握HarmonyOS的应用开发。