@Watch装饰器的回调执行顺序
1. 组件定义一个@Watch装饰器修饰的状态变量
@Component
struct TabComponent {
private title: string = ''
private index: number = 0
@Prop @Watch('onChange') state: string
build() {
Column() {
Text(this.title)
}
}
onChange() {
console.log('test', this.index, this.state)
}
}
2.页面中包含两个该组件。
TabContent() {
TabComponent({
title: this.tabs[0],
index: 0,
state: this.tabState0
})
}.tabBar(this.tabBuilder(this.tabs[0], 0))
TabContent() {
TabComponent({
title: this.tabs[1],
index: 1,
state: this.tabState1
})
}.tabBar(this.tabBuilder(this.tabs[1], 1))
3.先修改第二个组件的状态变量,再修改第一个组件的状态变量。
this.tabState1 = 'hide' this.tabState0 = 'show'
期望结果:第二个组件的回调函数先执行。
实际结果:第一个组件的回调函数先执行。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
@Watch对应的执行方法,和build的执行顺序是怎样的
1784浏览 • 1回复 待解决
鸿蒙ArkTs 开发,@Watch 对应的执行方法,和build 的执行顺序 是怎样的?
2535浏览 • 1回复 待解决
HarmonyOS @Watch的回调内可否提供变化前后的值?
289浏览 • 1回复 待解决
taskpool任务执行结束后如何执行回调方法
2123浏览 • 1回复 待解决
HarmonyOS @Watch装饰器,能见听到对象属性的变化吗?
247浏览 • 1回复 待解决
HarmonyOS CustomDialog 中cancel回调没有执行
485浏览 • 1回复 待解决
怎么执行调用方传入的Promise或AsyncCallback回调
771浏览 • 1回复 待解决
HarmonyOS 自定义组件生命周期回调有没有build执行后的回调
300浏览 • 1回复 待解决
NAPI执行上层回调时,如何获取env
2277浏览 • 1回复 待解决
HarmonyOS @Watch装饰器,能监听对象中某个属性的变化值吗?
10浏览 • 0回复 待解决
如何在NAPI执行上层回调时获取env
339浏览 • 1回复 待解决
HarmonyOS taskPool执行的task内如何回调主线程的方法
550浏览 • 1回复 待解决
组件build(){}方法执行完毕有对应的回调方法吗?
411浏览 • 1回复 待解决
PageSlider中,选择的position为0时,onPageChosen的回调不执行
5997浏览 • 1回复 待解决
使用@Watch监听并在回调函数中调用其他异步接口时UI响应慢
2075浏览 • 1回复 待解决
http执行requestInStream下载文件时,dataReceiveProgress会出现大量重复的回调
390浏览 • 1回复 待解决
HarmonyOS Component执行TransitionEffect动画时无法获取动画完成回调
352浏览 • 1回复 待解决
HarmonyOS promptAction弹窗在axios.request()的回调中无法执行
342浏览 • 1回复 待解决
ArkTS异步机制与执行顺序
1498浏览 • 1回复 待解决
HarmonyOS 怎么实现任务串行顺序执行
360浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在ArkTS中使用@Watch装饰器监听状态变量的变化?
195浏览 • 1回复 待解决
HarmonyOS ArkTS开发中,异步回调,怎么切到主线程执行呢
692浏览 • 1回复 待解决
HarmonyOS 解码器Flush后卡住,没有OnInputBufferAvailable回调
356浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中使用@Watch装饰器监听状态变量变化?
134浏览 • 1回复 待解决
如何获知TaskPool执行顺序、优先级?
831浏览 • 0回复 待解决
状态变量改变,会导致应用了此状态变量的组件刷新,就是会根据组件的先后次序依次刷新,然后触发相应组件的@Watch回调, 并不是按照button.onClick()改变状态变量的先后次序来刷新并触发回调的。