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
 
        待解决
        
相关问题
 为什么@ObjectLink装饰的变量不能被赋值而@Prop装饰的变量可以赋值? 
1454浏览  • 1回复 待解决
HarmonyOS @Observed/@ObjectLink装饰器相关问题 
1754浏览  • 1回复 待解决
#鸿蒙通关秘籍#使用@Observed和@ObjectLink装饰器时应该如何初始化变量? 
1265浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何利用@Observed装饰器和@ObjectLink装饰器实现多层嵌套类对象属性的变化监听? 
1366浏览  • 1回复 待解决
状态管理装饰器:state和observerd/objectlink,性能对比 
3021浏览  • 1回复 待解决
HarmonyOS 关于组件装饰器的问题 
1321浏览  • 1回复 待解决
HarmonyOS 发现子组件可以通过Watch装饰器监听父组件的变量的变化,有反过来的监听吗? 
949浏览  • 1回复 待解决
HarmonyOS UI绘制装饰器无法通知刷新的问题 
843浏览  • 1回复 待解决
HarmonyOS 自定义控制,传入String 类型无法同时支持 @State 装饰器和 没有装饰器的情况 
1554浏览  • 1回复 待解决
使用EventHub通信接收到消息后更新@States装饰的变量布局刷新 
2251浏览  • 1回复 待解决
在子组件中使用@LocalStorageLink装饰了变量,但是并没有从Entry中接收到值. 
1320浏览  • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙NEXT组件中通过@Styles装饰器访问状态变量 
1328浏览  • 1回复 待解决
HarmonyOS @ObjectLink装饰器监听嵌套数组时报错,如何处理解决。 
1088浏览  • 1回复 待解决
HarmonyOS 装饰器问题class 
1111浏览  • 1回复 待解决
HarmonyOS  @Concurrent装饰器报错 
1371浏览  • 1回复 待解决
@Sendable装饰器 用于解决无法在taskpool调用对象内的方法。为什么以装饰器的方式解决 
3261浏览  • 1回复 待解决
由于ets文件中不能使用any,无法自定义装饰器。必须要在ts文件中自定义装饰器吗? 
1762浏览  • 1回复 待解决
#鸿蒙学习大百科#@LocalStorageProp装饰器支持哪些类型的变量? 
1354浏览  • 1回复 待解决
#鸿蒙学习大百科#@StorageLink装饰器支持哪些类型的变量? 
1286浏览  • 1回复 待解决
#鸿蒙学习大百科#@LocalStorageLink装饰器支持哪些类型的变量? 
1261浏览  • 1回复 待解决
HarmonyOS 父组件的@state变量更新后子组件不生效 
1146浏览  • 1回复 待解决
#鸿蒙学习大百科#@StorageProp装饰器支持哪些类型的变量? 
1142浏览  • 1回复 待解决
子组件使用@Link修饰成员变量时,如何通过父组件传值 
2897浏览  • 1回复 待解决
HarmonyOS @Observed装饰器问题咨询 
1224浏览  • 1回复 待解决
装饰器 @Styles 和 @Extend 
1836浏览  • 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