HarmonyOS 鸿蒙Next 父类调用子类运行报错:“ is not initialized”

发布于 1周前 作者 eggper 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 父类调用子类运行报错:“ is not initialized”

父类

import { B } from './Son';  
  
export class A {  
  constructor() {  
  }  
  
  getInstance() {  
    if (this instanceof B) {  
      // 在这里可以添加针对 B 实例的逻辑  
    }  
  }  
}

子类

import { A } from './Father';  
  
export class B extends A {  
  // 在这里可以添加 B 类特有的属性和方法  
}

运行报错,调用栈: Reason:ReferenceError Error name:ReferenceError Error message:A is not initialized SourceCode: export class B extends A { ^ Stacktrace: at func_main_0 (entry/src/main/ets/test/Son.ets:3:24)

5 回复

解决措施:

ts语言限制,循环依赖因为加载时类未初始化完成导致报错,不建议使用;如果确实要用,需要模块加载顺序调整清楚。

没法这样写,父子组件传值建议看看这个教程:https://www.itying.com/goods-1193.html 免费的 第四讲有讲父子组件传值

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17

我也遇到类似问题

在HarmonyOS(鸿蒙)开发中遇到“is not initialized”错误,通常意味着你尝试调用的对象或组件尚未被正确初始化。这种情况可能由几个原因造成,比如:

  1. 确保在调用子类方法前,子类实例已被正确创建并初始化。
  2. 检查是否有任何必要的初始化代码(如构造函数中的)被遗漏或执行顺序错误。
  3. 如果是在服务或组件中,确认相关服务或组件已按预期启动并运行。

检查以上点,确保所有对象在使用前都已完成初始化。如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部