HarmonyOS @ObjectLink 渲染组件更新同步问题
代码片段如下:
@Observed
class ClassA {
label: string = "1"
constructor(label: string) {
this.label = label
}
}
@Observed
class ClassB {
public a: ClassA;
label: string = "1"
constructor(a: ClassA, label: string) {
this.a = a;
this.label = label
}
}
@Component
struct ViewA {
label: string = 'date';
@ObjectLink
b: ClassB
build() {
Column() {
Text(this.b.a.label)
Blank().height(20)
Button(`更改a.label`)
.onClick(() => {
this.b.a.label = "更改后的值"
})
ViewC({ a: this.b.a })
}
}
}
@Component
struct ViewC {
label: string = 'date';
@ObjectLink
a: ClassA
build() {
Column() {
Text(this.a.label)
Blank().height(20)
}
}
}
@Component
export struct ViewB {
@State b: ClassB = new ClassB(new ClassA('原始值'), "b_label");
build() {
Column() {
Text(this.b.a.label)
Blank().height(20)
ViewA({ label: 'a_label', b: this.b })
}
}
}
点击ViewA button ,更改this.b.a.label = "更改后的值",只有ViewC的Text文本渲染生效,而ViewA,ViewB 的Text(this.b.a.label) 并不能更新生效,这是为什么呢
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS @objectLink+@observe父组件不更新
705浏览 • 1回复 待解决
解决ArkTS开发中组件渲染和数据更新问题?
2333浏览 • 0回复 待解决
HarmonyOS 对象数组在使用@Observed和@ObjectLink驱动子组件UI更新时的问题
1329浏览 • 1回复 待解决
HarmonyOS ObjectLink问题
956浏览 • 1回复 待解决
HarmonyOS @ObjectLink 装饰器装饰的变量成员子组件中无法感知更新
1237浏览 • 1回复 待解决
HarmonyOS 状态管理-父子组件同步的问题
1607浏览 • 1回复 待解决
HarmonyOS 子组件和父组件数据同步问题
1173浏览 • 1回复 待解决
HarmonyOS 子页面状态更新父页面状态未同步更新
832浏览 • 1回复 待解决
HarmonyOS 自定义组件,数据更新时,界面无法重新渲染
1096浏览 • 1回复 待解决
HarmonyOS ForEach循环渲染组件视图刷新问题
1210浏览 • 1回复 待解决
HarmonyOS @Observed/@ObjectLink装饰器相关问题
1689浏览 • 1回复 待解决
HarmonyOS使用ObjectLink Observed 无法监听到嵌套类的属性更新
1230浏览 • 1回复 待解决
#鸿蒙通关秘籍#在使用@ObjectLink时怎样保证数据的双向同步?
1035浏览 • 1回复 待解决
HarmonyOS 数据同步问题
946浏览 • 1回复 待解决
HarmonyOS 状态同步问题
1053浏览 • 1回复 待解决
HarmonyOS 关于List组件使用ForEach渲染刷新的问题
1190浏览 • 1回复 待解决
HarmonyOS lazyforEach渲染问题
902浏览 • 1回复 待解决
HarmonyOS 关于数组包裹对象中更新组件问题
885浏览 • 1回复 待解决
HarmonyOS ObjectLink 的属性怎么传递给子组件
1035浏览 • 1回复 待解决
HarmonyOS 动态渲染,组件形态能否实现动态渲染
1535浏览 • 1回复 待解决
HarmonyOS AAID同步获取问题
921浏览 • 1回复 待解决
HarmonyOS web 同步token问题
685浏览 • 1回复 待解决
HarmonyOS ObjectLink使用
1037浏览 • 1回复 待解决
HarmonyOS 界面数据渲染问题
1121浏览 • 1回复 待解决
HarmonyOS 变量状态同步问题
1197浏览 • 1回复 待解决
@ObservedV2是深度观察,这种对于嵌套的属性标记了@Trace的这种,直接可以观察到
但是对于@Observed,现在的规格对于嵌套属性,就是要向下传递一层
目前@Observed的规格就是这样了,一般不会再变动了
如果想直接观察,不想向下传递,就用V2的能力