HarmonyOS 鸿蒙Next:不允许将属性分配给“@ObjectLink”修饰的属性

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

HarmonyOS 鸿蒙Next:不允许将属性分配给“@ObjectLink”修饰的属性

当使用@ObjectLink时,直接传入一个被@Observed修饰过的数组对象时报警告,然而当使用ForEach时确是正确的,如下:

深色代码主题
复制
//直接传入
TabsListDateView({ data: this.tabsList[0] })

//使用ForEach ForEach(this.tabsList, (item: WebViewModel) => { TabsListDateView({ data: item }) }, (item: WebViewModel): string => item.title )


更多关于HarmonyOS 鸿蒙Next:不允许将属性分配给“@ObjectLink”修饰的属性的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

这个问题可参考文档说明,最好不要这样使用,可以这样:

深色代码主题
复制
private bbb :ClassA = new ClassA(22);
TabsListDateView({ data: this.bbb })


参考文档链接:‘https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5#变量的传递访问规则说明’

更多关于HarmonyOS 鸿蒙Next:不允许将属性分配给“@ObjectLink”修饰的属性的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,关于不允许将属性分配给“@ObjectLink”修饰的属性这一问题,其根本原因在于“@ObjectLink”注解的使用方式和目的。

@ObjectLink”注解通常用于声明一个对象链接,它指向另一个对象或组件的引用,而不是用于直接存储数据值。这意味着,你不能像对待普通属性那样,直接给“@ObjectLink”修饰的属性赋值一个具体的数据。相反,它应该通过系统或框架提供的机制来建立链接,例如通过页面跳转或组件间的通信来间接设置。

如果你尝试直接给“@ObjectLink”修饰的属性赋值,编译器或运行时系统会抛出错误,因为这违反了“@ObjectLink”的设计初衷和使用规范。

要解决这个问题,你需要检查你的代码,确保你没有尝试直接给“@ObjectLink”修饰的属性赋值。相反,你应该使用适当的方法来建立和管理对象链接,如使用Intent传递数据,或者在组件间通过事件或回调来通信。

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

回到顶部