HarmonyOS 鸿蒙Next页面中使用@observed 或 @track导致模拟器崩溃

发布于 1周前 作者 caililin 来自 鸿蒙OS

HarmonyOS 鸿蒙Next页面中使用@observed@track导致模拟器崩溃

页面中包含[@observed](/user/observed) 和 或 [@track](/user/track) 的话,在模拟器中运行直接崩溃。 报错日志:

Error message:track is not defined
SourceCode: [@track](/user/track) ^
Stacktrace: at func_main_0 (entry/src/main/ets/pages/test/test.ets:15:4)

环境: HarmonyOS Emulator(直板手机-Win X86 API12版本)
操作系统: Win10

@Entry
@Component
struct phone_example {
  build() {

    Column() {
    }.width('100%').height("100%")
  }
}

[@observed](/user/observed)
class A {
  [@track](/user/track) a: string = ''
}

更多关于HarmonyOS 鸿蒙Next页面中使用@observed 或 @track导致模拟器崩溃的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
您好,您可以尝试将@observed和@track 换成 @Observed和@Track 

您好,可以稳定使用,详情参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/arkts-observed-and-objectlink-V13

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/arkts-track-V13

@ObservedV2与@Trace装饰器从API version 12开始支持。这个是5.0的新功能,这个内容会持续支持,需要与您的版本匹配才行。新内容部分内容是需要等其他组件功能一起上了,才能完整的使用,不然可能会有问题,当前还是不建议使用的,建议您使用对外公开的版本。

目前版本,您可以参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-releases-V13/overview-V13

具体内容以官方文档为主。

更多关于HarmonyOS 鸿蒙Next页面中使用@observed 或 @track导致模拟器崩溃的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)开发中,如果你在Next页面(可能是指在使用ArkUI框架进行UI开发时的某个页面组件)中使用@observed@track导致模拟器崩溃,这通常与数据绑定和状态管理相关。

@observed用于声明一个可观察的对象属性,当该属性值发生变化时,会自动通知UI进行更新。而@track用于标记类的属性,以便ArkUI框架能够追踪这些属性的变化并更新UI。

导致模拟器崩溃的可能原因包括:

  1. 属性访问冲突:在属性被@observed@track修饰后,可能在某些情况下存在访问冲突,尤其是在多线程环境下。
  2. 循环依赖:数据绑定可能导致组件之间形成循环依赖,进而引发崩溃。
  3. 内存泄漏:不当的数据绑定可能导致内存无法正确释放,进而耗尽模拟器资源,引发崩溃。
  4. 框架Bug:鸿蒙系统或ArkUI框架本身可能存在未修复的Bug。

如果问题依旧没法解决请联系官网客服,官网地址是: https://www.itying.com/category-93-b0.html

回到顶部