HarmonyOS 鸿蒙Next 关于ObjectLink的初始化问题

HarmonyOS 鸿蒙Next 关于ObjectLink的初始化问题 api9的stage模型,用父组件@State 装饰的成员变量初始化子主键中的ObjectLink标注的成员变量,属性类也用@Observed进行标注了,也能编译运行,但是ide就是报下面的错误,这是什么问题呀,如何解决

Assigning the '[@State](/user/State)' decorated attribute 'subInfoModel' to the '@ObjectLink' decorated attribute 'model' is not allowed. <ArkTSCheck>

部分代码如下

SubInfoModel类

[@Observed](/user/Observed)
export class SubInfoModel{
  /**视频制作者*/
  staff:StaffArray
  /**简介信息*/
  detailModel:VideoDetailCompModel
  /**点赞栏信息*/
  toolbarModel:VideoToolbarCompModel
}

父组件部分代码

[@State](/user/State) subInfoModel:SubInfoModel = {
    staff:[],
    detailModel: { title:'', description:'', viewed:0, postTime:'', danmaku:0, reprint:1, arrow:false, watching:'0', bvid:'' },
    toolbarModel: { likeNum:0, dislikeNum:0, coinNum:0, favNum:0, sharedNum:0 }
}

    Tabs(){
          TabContent(){
            SubInfoView({model:this.subInfoModel}).width('100%')
          }.tabBar('简介')
          TabContent(){
            Column(){
              VideoReplyTabView()
            }.height('100%')
          }.tabBar('评论')
        }.flexGrow(1)
        .layoutWeight(1)

子组件

@Component
export struct SubInfoView{
  @ObjectLink model:SubInfoModel
  build(){
    Column({space:10}){
      StaffComp({staff:this.model.staff})
      VideoDetailComp({model:this.model.detailModel})
      VideoToolbarComp({ model:this.model.toolbarModel})
    }.height('100%')
  }
}

ide版本

DevEco Studio 4.0 Release

Build Version: 4.0.0.600, built on October 17, 2023

Build #DS-223.8617.56.36.400600

Runtime version: 17.0.6+10-b829.5 amd64

VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

Windows 11 10.0

GC: G1 Young Generation, G1 Old Generation

Memory: 1536M

Cores: 16

Registry:

  • external.system.auto.import.disabled=true

Non-Bundled Plugins:

  • com.tabnine.TabNine (1.58.0)

更多关于HarmonyOS 鸿蒙Next 关于ObjectLink的初始化问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

楼主您好,请提供复现问题的完整代码。

更多关于HarmonyOS 鸿蒙Next 关于ObjectLink的初始化问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


感谢,提单给华为了,是IDE的问题,

IDE的问题吗?呜呜呜,搞了半天不知道怎么办,

IDE的问题,如何解决的?要下载新的 IDE吗?

学习,

在HarmonyOS鸿蒙Next中,ObjectLink的初始化问题主要涉及如何在分布式场景下正确初始化和使用ObjectLink对象。ObjectLink是鸿蒙系统提供的一种用于跨设备对象引用的机制,允许在不同设备间传递和操作对象。

初始化ObjectLink时,首先需要确保设备间的分布式能力已经正确配置,包括设备发现、认证和连接。在代码中,通常通过调用ObjectLink.create()方法来创建ObjectLink实例。创建时需要指定目标设备的标识符和对象的唯一标识符。

在初始化过程中,可能遇到的问题包括设备无法正常连接、对象标识符重复或无效等。这些问题通常通过检查设备连接状态、确认对象标识符的唯一性和有效性来解决。此外,确保设备间的网络通信正常也是初始化成功的关键。

ObjectLink的初始化完成后,可以通过调用ObjectLink.get()方法获取远程对象的引用,并进行相应的操作。在操作过程中,需要注意对象的状态同步和生命周期管理,以确保分布式操作的正确性和一致性。

总结来说,鸿蒙Next中ObjectLink的初始化问题主要涉及设备连接、对象标识符管理和网络通信等方面,通过正确配置和管理这些因素,可以确保ObjectLink的正常使用。

回到顶部