HarmonyOS 鸿蒙Next在.ets文件中定义数组报错
HarmonyOS 鸿蒙Next在.ets文件中定义数组报错
为什么这样定义数组会报错
3 回复
API 11开始不支持这样写了,按官方的意思是过于灵活了。有三种方式可以初始化数组。
方案一:使用Object(),相当于绕过了官方的限制,没准哪天被官方发现了,然后项目就突然又不能使用了,所以不推荐。
list: Object[] = [
Object({
id: 1,
name: '商品1'
}),
Object({
id: 2,
name: '商品2'
})
]
方案二:使用Record,官方推荐,缺点就是左边的key都要用“”号,写起来有点麻烦。
list: Record<string, string | number>[] = [
{
'id': 1,
'name': '商品1'
} ,
{
'id': 2,
'name': '商品2'
}
]
方案三:使用class或者interface,也是官方推荐,优点是可以自定义初始化方式比较灵活,缺点就是代码量比较多。
class MyBean {
id: number
name: string
constructor(id: number, name: string) {
this.id = id
this.name = name
}
}
list: MyBean[] = [
new MyBean(1, ‘商品1’),
new MyBean(2, ‘商品2’),
]
}```
还是建议定义为 interface 或 class
在HarmonyOS的.ets
文件中定义数组并报错,通常可能是因为语法错误或环境配置问题。首先,确保你使用的是正确的语法来定义数组。在.ets
文件中,通常使用JavaScript或TypeScript的语法,数组定义类似于let myArray = [1, 2, 3];
。
此外,检查你的项目配置是否支持.ets
文件及其语法。确认所有依赖和插件都已正确安装和配置。
如果问题依旧没法解决,请加我微信,我的微信是itying888,以便进一步分析具体问题所在。