HarmonyOS 对象字面量不能用作类型声明

@Builder function myChild($$: { age: number }) {
  Column() {
    Text('我是构建函数组件').fontColor(Color.Red)
    Text(`这是传来的参数${$$.age}`)
  }
}

在api12上面 用这样构造一个函数报错Object literals cannot be used as type declarations。是在api12上面禁止这样传值了吗?

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

需要将 { age: number }抽成应该class类。类型不能写成{ age: number }。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-builder-V5#按引用传递参数

尝试如下demo:

class Tmp {
  age: number = 0
}
@Builder
function myChild($$: Tmp) {
  Column() {
    Text('我是构建函数组件').fontColor(Color.Red)
    Text(`这是传来的参数${$$.age}`)
  }
}
@Entry
@Component
struct Index {
  build() {
    Row() {
      Column() {
        myChild({ age: 20 })
      }.width('100%')
    }.height('100%')
  }
}
分享
微博
QQ
微信
回复
7天前
相关问题
Funcation.call不能用
369浏览 • 1回复 待解决
Emitter如何声明回调函数类型
1870浏览 • 1回复 待解决
har包不能用worker吗,taskpool可以吗
1917浏览 • 1回复 待解决
升级鸿蒙系统后原来的app能不能用
10769浏览 • 2回复 待解决
HarmonyOS json对象转map类型
282浏览 • 1回复 待解决
HarmonyOS router参数不能是map类型
343浏览 • 1回复 待解决
关于文档中说har中不能用单例的疑惑
1914浏览 • 1回复 待解决
ts 声明式开发不能使用js的getApp()
4635浏览 • 1回复 待解决