HarmonyOS 使用@ObservedV2的类,无法从父组件通过构造函数传递给子组件
@ObservedV2
export class CeEditorViewModel extends BaseViewModel {
@Component
export struct PesoEditor {
viewModel : CeEditorViewModel | null = null;
controller: PesoController = new PesoController(this.viewModel!);
}
当父组件已经通过构造的方式进行传递PesoEditor({ viewModel: editorViewModel , editProvider: this.editorProvider})
子组件的viewModelProvider还是undefined请问这个问题的原因是什么?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS PixelMap类型无法从父组件传递给子组件
512浏览 • 1回复 待解决
HarmonyOS使用@ObservedV2装饰viewmodel类,在父子组件传递的时候不方便
983浏览 • 1回复 待解决
HarmonyOS 父组件不能用@ObservedV2修饰的类用@state传给子组件
678浏览 • 1回复 待解决
HarmonyOS 如何把一个使用@ObservedV2修饰的类传给子组件
467浏览 • 1回复 待解决
HarmonyOS 事件能从父组件传递到子组件吗
533浏览 • 1回复 待解决
HarmonyOS ObjectLink 的属性怎么传递给子组件
689浏览 • 1回复 待解决
父组件中定义的方法如何传递给子组件
914浏览 • 1回复 待解决
HarmonyOS @ObservedV2修饰类中@Trace装饰的属性赋值问题
713浏览 • 1回复 待解决
父组件给子组件传递函数
830浏览 • 1回复 待解决
HarmonyOS API12中ObservedV2结合Trace怎么更新子view。
656浏览 • 1回复 待解决
HarmonyOS 使用@Entry修饰的组件如何将onBackPress事件传递给非@Entry修饰的子组件
543浏览 • 1回复 待解决
HarmonyOS @ObservedV2不支持{} as Father对象
566浏览 • 1回复 待解决
HarmonyOS @Sendable怎么和@ObservedV2协同工作
720浏览 • 1回复 待解决
HarmonyOS @ObservedV2和之前的状态管理可以共用吗
715浏览 • 1回复 待解决
使用@ObservedV2装饰器的class,给子组件@Prop装饰的数组传值时,数组变动了,但数组元素的值未拷贝过去
683浏览 • 1回复 待解决
如何将某个组件的点击事件传递给其他组件
2610浏览 • 1回复 待解决
#鸿蒙学习大百科#@ObservedV2的类实例目前支持使用JSON.stringify进行序列化吗?
853浏览 • 0回复 待解决
弹窗组件调用父组件函数传递
1711浏览 • 1回复 待解决
HarmonyOS @Prop同步给子组件的数据如何通过@Builder传递?
504浏览 • 1回复 待解决
HarmonyOS 通过向子组件传递builder时,组件复用没有生效
506浏览 • 1回复 待解决
HarmonyOS 父组件通过prop传函数给子组件调用会报错
803浏览 • 1回复 待解决
HarmonyOS @ObservedV2的类实例目前不支持使用JSON.stringify进行序列化,现在是否有替代方案
642浏览 • 1回复 待解决
HarmonyOS 自定义Canvas刷新和@ObservedV2如何配合刷新?
932浏览 • 1回复 待解决
harmony页面开发父组件如何传递事件方法给子组件,通过子组件可以进行回调反馈?
1496浏览 • 2回复 待解决
需要在子组件中拿到父组件的最新传递雇来的,重新对PesoController 赋值。因为在子组件中 viewModel : CeEditorViewModel | null = null; 声明的时候是null值,所以 viewModel 1 的日志输出为什么是null
同时1、@ObservedV2类的构造函数中对成员变量进行赋值或者修改时,此修改不会经过代理(因为是直接对数据源中的值进行修改),也就无法被观测到。所以,如果在类的构造函数中使用定时器修改类中的成员变量,即使该修改成功执行了,也不会触发UI的刷新。
2、@ObservedV2装饰器与@Trace装饰器用于装饰类以及类中的属性,使得被装饰的类和属性具有深度观测的能力:@ObservedV2装饰器与@Trace装饰器需要配合使用,单独使用@ObservedV2装饰器或@Trace装饰器没有任何作用。被@Trace装饰器装饰的属性property变化时,仅会通知property关联的组件进行刷新。在嵌套类中,嵌套类中的属性property被@Trace装饰且嵌套类被@ObservedV2装饰时,才具有触发UI刷新的能力。在继承类中,父类或子类中的属性property被@Trace装饰且该property所在类被@ObservedV2装饰时,才具有触发UI刷新的能力。在@ObservedV2装饰的类中,只有被@Trace装饰的属性才可以用在UI中,未被@Trace装饰的属性不可以用在UI中。@ObservedV2的类实例目前不支持使用JSON.stringify进行序列化。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-new-observedv2-and-trace-V5#概述