HarmonyOS ets替换ts编译报错问题

下面的场景改为ets该如何实现:

1、通过JSON反序列化成指定对象。

Object.assign(location, JSON.parse(localCache))
  • 1.

因禁用了assign使用,如何转成指定类型的对象?

2、通过Object.fromEntries把map转为Object。

let lbsDataJson = JSON.stringify(Object.fromEntries(map));
  • 1.

3、通过Object.entries把Object转为map的场景。

HarmonyOS
2024-12-23 15:52:51
1088浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

JSON.parse(localCacheJson) //转换出来是Object类型,在调用对应方法时找不到,所以需要转为指定HllLocation类型。请参考如下文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkts-61-V5

参考示例:

class HllLocation {
  name: string
  age: number
  email: string
  phoneNumber: string

  constructor(name: string, age: number, email: string,
    phoneNumber: string) {
    this.name = name;
    this.age = age;
    this.email = email;
    this.phoneNumber = phoneNumber;
  }
}

let test10: HllLocation = new HllLocation('1', 2, '1', '1')

function assign(target: Object, ...source: Object[]): Object {
  for (const items of source) {
    for (const key of Object.keys(items)) {
      (target as Record<string, Object>)[key] = Reflect.get(items, key)
    }
  }
  return target;
}

let a = assign(test10) as HllLocation
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
分享
微博
QQ
微信
回复
2024-12-23 18:18:05
相关问题
HarmonyOS 对于tsets
1082浏览 • 1回复 待解决
HarmonyOS etsts的区别
861浏览 • 1回复 待解决
HarmonyOS 关于.ets与.ts的使用抉择
1338浏览 • 1回复 待解决
eTS文件和ts文件的区别
3197浏览 • 1回复 待解决
HarmonyOS .ets和.ts文件的差异是什么
940浏览 • 1回复 待解决
HarmonyOS tsets相互引用的最佳实践
1114浏览 • 1回复 待解决
etsts需要如何做好分层
1524浏览 • 0回复 待解决
OLED 屏幕输出编译报错问题
11809浏览 • 2回复 待解决
是否会长期支持ets调用ts代码
2323浏览 • 1回复 待解决
HarmonyOS ets文件和ts文件有什么区别
1292浏览 • 1回复 待解决
ide支持持过滤etsts文件吗
1640浏览 • 1回复 待解决
HarmonyOS字符串替换问题
1783浏览 • 1回复 待解决
HarmonyOS 替换字符串问题
1176浏览 • 1回复 待解决
HarmonyOS 编译flutter报错
1046浏览 • 1回复 待解决
有比较深熟悉或了解ETSTS的吗?
4915浏览 • 1回复 待解决
ets文件怎么调用ts文件中定义的方法
4126浏览 • 1回复 待解决
HarmonyOS $r 字符串替换问题
1786浏览 • 1回复 待解决