HarmonyOS @ObjectLink 装饰器装饰的变量成员子组件中无法感知更新
代码如下
@Entry
@Component
struct Index {
@State uiState: ObservedA = new ObservedA()
build() {
Row() {
Column() {
ComponentA({
uiState: this.uiState
})
Button('addCount')
.onClick(() => {
this.uiState.ob.b++
})
}
.width('100%')
}
.height('100%')
}
}
@Component
struct ComponentA {
@ObjectLink uiState: ObservedA
build() {
ComponentB({
uiState: this.uiState.ob
})
}
}
@Component
struct ComponentB {
@ObjectLink uiState: ObservedB
build() {
ComponentC({
content: this.uiState.b
})
}
}
@Component
struct ComponentC {
@State content: number = 0
build() {
Text(`${this.content}`)
}
}
@Observed
class ObservedA {
a: number = 0
ob: ObservedB = new ObservedB()
}
@Observed
class ObservedB {
b: number = 0
}
点击按钮更新字段 b,组件 C 中无法感知到更新,如何处理实现该功能
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS @Observed/@ObjectLink装饰器相关问题
113浏览 • 1回复 待解决
为什么@ObjectLink装饰的变量不能被赋值而@Prop装饰的变量可以赋值?
116浏览 • 1回复 待解决
状态管理装饰器:state和observerd/objectlink,性能对比
1431浏览 • 1回复 待解决
HarmonyOS 自定义控制,传入String 类型无法同时支持 @State 装饰器和 没有装饰器的情况
89浏览 • 1回复 待解决
使用EventHub通信接收到消息后更新@States装饰的变量布局刷新
591浏览 • 1回复 待解决
在子组件中使用@LocalStorageLink装饰了变量,但是并没有从Entry中接收到值.
145浏览 • 1回复 待解决
HarmonyOS装饰器或注解实现方式咨询
100浏览 • 1回复 待解决
@Sendable装饰器 用于解决无法在taskpool调用对象内的方法。为什么以装饰器的方式解决
1612浏览 • 1回复 待解决
组件如何根据不同条件绑定不同的@style装饰器?
503浏览 • 0回复 待解决
HarmonyOS现在的ArkTS语法怎么编写自定义装饰器,包括类、方法、属性、参数的装饰器
86浏览 • 1回复 待解决
状态装饰器 ui不刷新的问题
2040浏览 • 1回复 待解决
自定义装饰器的使用问题
442浏览 • 1回复 待解决
Aspect工具装饰器的使用示例
1562浏览 • 2回复 待解决
是否支持自定义装饰器
1794浏览 • 1回复 待解决
@Track装饰器有什么作用?
262浏览 • 1回复 待解决
@Observed和其他类装饰器装饰同一个class是否存在问题
1749浏览 • 1回复 待解决
子组件使用@Link修饰成员变量时,如何通过父组件传值
1489浏览 • 1回复 待解决
HarmonyOS DevEco Stduio 不支持@deprecated 装饰器
96浏览 • 1回复 待解决
ArkTS是否支持自定义装饰器?
1785浏览 • 1回复 待解决
如何在ArkTS中实现自定义装饰器能力?
667浏览 • 1回复 待解决
有没有办法能解析到@Concurrent 装饰器,想要限制某个函数一定要带@Concurrent装饰器
1414浏览 • 1回复 待解决
@Builder装饰器的参数传递规则有哪些?
94浏览 • 1回复 待解决
@Extend装饰器装饰的方法现在不支持跨文件调用,后续是否有计划支持?
1444浏览 • 1回复 待解决
openharmony arkui taskpool @concurrent装饰器如何使用
4532浏览 • 4回复 待解决
HarmonyOS使用ObjectLink Observed 无法监听到嵌套类的属性更新
101浏览 • 1回复 待解决
参考如下demo:
主要原因是Component C中的@State content: number = 0中@State无法实现父子传值,需要使用@Prop或@Link支持父子间传值的装饰器才可实现,Observed使用可参考如下链接
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-0000001774279618-V5