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装饰器相关问题
408浏览 • 1回复 待解决
为什么@ObjectLink装饰的变量不能被赋值而@Prop装饰的变量可以赋值?
362浏览 • 1回复 待解决
状态管理装饰器:state和observerd/objectlink,性能对比
1786浏览 • 1回复 待解决
HarmonyOS 发现子组件可以通过Watch装饰器监听父组件的变量的变化,有反过来的监听吗?
226浏览 • 2回复 待解决
HarmonyOS 自定义控制,传入String 类型无法同时支持 @State 装饰器和 没有装饰器的情况
379浏览 • 1回复 待解决
使用EventHub通信接收到消息后更新@States装饰的变量布局刷新
902浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙NEXT组件中通过@Styles装饰器访问状态变量
26浏览 • 1回复 待解决
在子组件中使用@LocalStorageLink装饰了变量,但是并没有从Entry中接收到值.
419浏览 • 1回复 待解决
@Sendable装饰器 用于解决无法在taskpool调用对象内的方法。为什么以装饰器的方式解决
2013浏览 • 1回复 待解决
由于ets文件中不能使用any,无法自定义装饰器。必须要在ts文件中自定义装饰器吗?
341浏览 • 1回复 待解决
#鸿蒙学习大百科#@StorageProp装饰器支持哪些类型的变量?
168浏览 • 1回复 待解决
装饰器 @Styles 和 @Extend
325浏览 • 1回复 待解决
#鸿蒙学习大百科#@StorageLink装饰器支持哪些类型的变量?
160浏览 • 1回复 待解决
#鸿蒙学习大百科#@LocalStorageProp装饰器支持哪些类型的变量?
148浏览 • 1回复 待解决
#鸿蒙学习大百科#@LocalStorageLink装饰器支持哪些类型的变量?
147浏览 • 1回复 待解决
HarmonyOS 装饰器不刷新问题
90浏览 • 1回复 待解决
子组件使用@Link修饰成员变量时,如何通过父组件传值
1798浏览 • 1回复 待解决
应用卡片内部组件能使用装饰器吗?
244浏览 • 1回复 待解决
HarmonyOS现在的ArkTS语法怎么编写自定义装饰器,包括类、方法、属性、参数的装饰器
323浏览 • 1回复 待解决
使用@ObservedV2装饰器的class,给子组件@Prop装饰的数组传值时,数组变动了,但数组元素的值未拷贝过去
173浏览 • 1回复 待解决
HarmonyOS 通过@Extend装饰器如何定义全局扩展组件样式
281浏览 • 1回复 待解决
组件如何根据不同条件绑定不同的@style装饰器?
764浏览 • 0回复 待解决
Aspect工具装饰器的使用示例
1961浏览 • 2回复 待解决
@Track装饰器有什么作用?
661浏览 • 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