HarmonyOS @ObjectLink和@State的相关疑问
子组件使用@ObjectLink接收来自父组件中用@State 修饰的@Observed的嵌套变量对象,当该对象的嵌套对象属性发生修改时子组件无法刷新UI
demo:
@Observed
class Model {
a: A
constructor(a: A) {
this.a = a
}
}
@Observed
class A {
str: string
constructor(str: string) {
this.str = str
}
}
@Component
struct MyView {
@ObjectLink objLink: Model
build() {
Text(`MyView ${this.objLink.a.str}`)
}
}
@Entry
@Component
struct Index {
@State model: Model = new Model(new A("b"))
build() {
Column({ space: 20 }) {
MyView({ objLink: this.model})
Button("Click")
.onClick(() => {
this.model.a.str = "d"
})
}
.width("100%")
.height("100%")
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 状态管理之ObjectLink的疑问
1403浏览 • 1回复 待解决
状态管理装饰器:state和observerd/objectlink,性能对比
2977浏览 • 1回复 待解决
@ObjectLink @State能同时使用吗?
540浏览 • 1回复 待解决
关于鸿蒙next相关疑问
538浏览 • 0回复 待解决
关于鸿蒙next相关疑问
516浏览 • 0回复 待解决
关于鸿蒙next相关疑问
512浏览 • 0回复 待解决
关于鸿蒙next相关疑问
558浏览 • 0回复 待解决
关于鸿蒙next相关疑问
598浏览 • 1回复 待解决
关于鸿蒙next相关疑问
518浏览 • 0回复 待解决
关于鸿蒙next相关疑问
668浏览 • 0回复 待解决
关于鸿蒙next相关疑问
709浏览 • 2回复 待解决
HarmonyOS State的特性相关问题
624浏览 • 1回复 待解决
HarmonyOS @Observed/@ObjectLink装饰器相关问题
1702浏览 • 1回复 待解决
关于鸿蒙next相关疑问
463浏览 • 0回复 待解决
关于鸿蒙next相关疑问
472浏览 • 0回复 待解决
关于鸿蒙next相关疑问
495浏览 • 0回复 待解决
关于鸿蒙next相关疑问
777浏览 • 1回复 待解决
关于鸿蒙next相关疑问
513浏览 • 0回复 待解决
关于鸿蒙next相关疑问
1263浏览 • 1回复 待解决
HarmonyOS 动态navigation @state等装饰器编写位置疑问
854浏览 • 1回复 待解决
Observe和ObjectLink 使用
1216浏览 • 1回复 待解决
HarmonyOS 关于企业内应用分发的相关疑问
1357浏览 • 1回复 待解决
使用connection网络管理接口获取网络类型的相关疑问
2179浏览 • 1回复 待解决
@State和@Link的区别是什么?
565浏览 • 0回复 待解决
1.当前您demo里面传入到ChatItemView里面的是Chat,那你观测的只是Chat,Chat下面的嵌套对象user是观测不到的。
2.ChatItemView子组件正确传入的是user: this.chat.user,从而子组件观测的就是user。