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使用@ObservedV2装饰viewmodel类,在父子组件传递的时候不方便
260浏览 • 1回复 待解决
父组件中定义的方法如何传递给子组件
374浏览 • 1回复 待解决
父组件给子组件传递函数
288浏览 • 1回复 待解决
HarmonyOS @Sendable怎么和@ObservedV2协同工作
8浏览 • 1回复 待解决
#鸿蒙学习大百科#@ObservedV2的类实例目前支持使用JSON.stringify进行序列化吗?
269浏览 • 0回复 待解决
使用@ObservedV2装饰器的class,给子组件@Prop装饰的数组传值时,数组变动了,但数组元素的值未拷贝过去
241浏览 • 1回复 待解决
HarmonyOS 自定义Canvas刷新和@ObservedV2如何配合刷新?
258浏览 • 1回复 待解决
如何将某个组件的点击事件传递给其他组件
2107浏览 • 1回复 待解决
弹窗组件调用父组件函数传递
1025浏览 • 1回复 待解决
#鸿蒙学习大百科#@ObservedV2和@Trace装饰器需要如何配合使用?
172浏览 • 1回复 待解决
HarmonyOS 自定义组件的私有属性,外部通过构造函数初始化,还能实例化
458浏览 • 1回复 待解决
harmony页面开发父组件如何传递事件方法给子组件,通过子组件可以进行回调反馈?
632浏览 • 2回复 待解决
没有'new'就不能调用类构造函数Redistore
2143浏览 • 1回复 待解决
ArkTS的function传递给C后,如何在C的子线程使用该function
2166浏览 • 1回复 待解决
web组件中应用侧调用前端页面函数无法传递参数
228浏览 • 1回复 待解决
HarmonyOS 子组件被父组件包装后,如何通过父组件设置子组件的属性
525浏览 • 1回复 待解决
子组件事件能否到传递父组件
2404浏览 • 1回复 待解决
HarmonyOS是否支持在父组件onPageShow函数中通过执行某些操作可以触发子组件重新渲染
823浏览 • 1回复 待解决
HarmonyOS 如何定义一个map为临时变量,作为参数传递给函数
465浏览 • 1回复 待解决
HarmonyOS 当自定义组件使用大括号传递插槽时无法传递样式
284浏览 • 1回复 待解决
HarmonyOS 如何通过变量将@Builder修饰的自定义view传递到子组件中?
231浏览 • 1回复 待解决
HarmonyOS TabContent无法套用在子组件
291浏览 • 1回复 待解决
当父组件绑定了onTouch,子组件绑定了onClick,点击子组件如何阻止冒泡传递
545浏览 • 1回复 待解决
#鸿蒙学习大百科#@ObservedV2和@Trace装饰器从哪个API版本开始支持?
224浏览 • 1回复 待解决
需要在子组件中拿到父组件的最新传递雇来的,重新对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#概述