HarmonyOS Object literal must correspond to some explicitly declared class or interface (arkts-no-untyped-obj-literals)

// 创建新实例并使用给定对象初始化
let storage = new LocalStorage({ 'PropA': 47 });

@Entry(storage) // 使LocalStorage可从@Component组件访问---注入实例
@Component
struct LocalStoragePage {
  // @LocalStorageLink变量装饰器声明新变量storLink1与LocalStorage中的'PropA'属性建立双向绑定
  @LocalStorageLink('PropA') storLink1: number = 1;

  build() {

    Column() {
      Text('-------LocalStorage-------').fontColor(Color.Red).fontSize(24)
      Text(`storLink1: ${this.storLink1}`).fontSize(20).fontWeight(600)
        .onClick(() => {
          this.storLink1++;
        })
      Button('修改')
        .onClick(() => {
          storage.set('PropA', 100)
        })
      ComA()
    }
    .width('100%').padding(20).justifyContent(FlexAlign.Start).alignItems(HorizontalAlign.Start)

  }
}

@Component
struct ComA {
  build() {
    Column() {
      Text(`ComA`)
      ComB()
    }.justifyContent(FlexAlign.Start).alignItems(HorizontalAlign.Start)
  }
}

@Component
struct ComB {
  @LocalStorageLink('PropA') storLink2: number = 1; //双向
  @LocalStorageProp('PropA') storLink3: number = 1; //单向

  build() {
    Column() {
      Text(`ComB_link: ${this.storLink2}`)
        .onClick(() => {
          this.storLink2 += 10
        })
      Text(`ComB_prop: ${this.storLink3}`)
        .onClick(() => {
          this.storLink3 += 10
        })
    }
  }
}

怎么改

HarmonyOS
2024-12-23 15:39:41
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

方案一:

官网有适配案例,以及规则说明可以参考一下。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-more-cases-V5#arkts-no-untyped-obj-literals

方案二:

//需要写一个calss(如CameraLifecycleImpl)实现CameraLifecycle ;
let obj:CameraLifecycleImpl = new CameraLifecycleImpl();
//将obj作为入参传入
CameraService.getInstance().addLifecycleListener(obj)

目前代码检查对.ets做了强制语法约束,这种可以提高应用运行效率;推荐使用.ets,.ts暂不做强制约束

分享
微博
QQ
微信
回复
2024-12-23 16:56:50
相关问题
Native与TS互传自定义obj class
1182浏览 • 1回复 待解决
HarmonyOS ArkTS如何判断Object类型?
662浏览 • 1回复 待解决
HarmonyOS interface 问题
550浏览 • 1回复 待解决
ArkTSclass有析构函数吗?
704浏览 • 1回复 待解决
HarmonyOS 如何遍历interface
273浏览 • 1回复 待解决
HarmonyOS Objectobject的区别
873浏览 • 1回复 待解决
HarmonyOS [object, object]是如何读取的?
476浏览 • 1回复 待解决
HarmonyOS 方法里有interface,实现问题
244浏览 • 2回复 待解决
HarmonyOS 关于interface的使用
1323浏览 • 1回复 待解决