HarmonyOS 鸿蒙Next 数据模型对象赋值问题

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

HarmonyOS 鸿蒙Next 数据模型对象赋值问题
module.newsList?.push这样添加对象,显示错误module.newsList报undefined
 

HotPageModel.getMoreHotPageList(this.page)
  .then(result => {

    result.object?.newsList?.forEach(item => {
      let moduleList: Array<ModuleList> = new Array

      let module = new ModuleList

      let newsList1=new NewsList()
      newsList1.id=item.id

      module.newsList?.push(newsList1)//这个push对象不可以,断点module.newsList报undefined

      moduleList.push(module)
      // module?.newsList?.push(newsList1)

      this.hotPageList1.push(module)

    })

    this.loadMoreStatus = true

  })



  ==================
  export class Object {
  moduleList?:ModuleList[]
  newsList?:NewsList[]
}
export class ModuleList {
  newsList2?:NewsList2[]
  newsList?:NewsList[]
  newsList4?:NewsList4[]

  moduleType?:number
  moduleName?:string
  moduleIorder?:number
  labelColor?:string
  iconUrl?:string
  moduleKey?:string
  extend?:Extend
}

export class NewsList {
  id?:number
  title?:string
  summary?:string
  newstype?:string
  status?:string
}

更多关于HarmonyOS 鸿蒙Next 数据模型对象赋值问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
因为class中那样定义,newsList可能不存在,一般需要给个构造函数,或者给个默认值,才能操作。或者可以试试下面这种
let module = new ModuleList

let newsList1=new NewsList()

newsList1.id=item.id

let newsListArray = new Array

newsListArray .push(newsList1)

module.newsList? = newsListArray

更多关于HarmonyOS 鸿蒙Next 数据模型对象赋值问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,数据模型对象的赋值通常依赖于其定义的数据结构和属性。以下是对数据模型对象赋值的基本操作方式:

  1. 直接赋值: 如果数据模型对象的属性是公开的(public),可以直接通过对象名.属性名的方式进行赋值。例如,对于对象person和属性name,可以执行person.name = "张三"

  2. 通过方法赋值: 如果数据模型对象的属性是私有的(private)或受保护的(protected),通常会提供公共的setter方法来赋值。例如,如果name属性是私有的,可能会有一个setName(String name)方法,通过person.setName("张三")来赋值。

  3. 构造函数赋值: 在创建数据模型对象时,可以通过构造函数来初始化属性值。如果数据模型类提供了带参数的构造函数,可以在创建对象时直接传入属性值。

  4. 使用数据绑定: 在HarmonyOS开发中,如果使用了数据绑定框架,可以通过绑定表达式在XML布局文件中直接绑定数据模型对象的属性到UI组件上,实现数据的自动更新和赋值。

如果上述方法仍然无法解决你的数据模型对象赋值问题,可能是由于数据模型类的定义、属性访问权限或赋值方式有误。请检查数据模型类的定义和属性访问权限,确保赋值方式正确。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部