Skip to content

自定义组件

ts
@Preview // 使组件可以在previewer中预览
@Component  
export struct Header {  
  build() {  
    Column() {  
      Text('Head')  
    }  
    .width('100%')  
    .height(50)  
    .backgroundColor(Color.Gray)  
    .padding(10)  
    }  
}

ArkTS 与 TS 差异

官方文档

  1. 禁止 any
  2. 禁止动态增加、删除对象属性,及对象属性的任意类型赋值
  3. 限制运算符语义,例如 + 对字符串操作数的转型
ts
let s = +'42'; // 编译时错误

推荐的数组复杂类型批注

ts
class User {  
  name: string = "John";  
  age: number = 25;  
}  
  
let userArray: Array<User> = [new User(), new User()] // 便于使用class构造函数实例化对象

枚举

  • 描述 ArkUI 属性

键值对 Record

ts
let a:Record<string,number> = {  
  "age": 10  
}

结构体

结构体里面不要用 let

ArkUI

支持声明式调用组件

  • build 组件渲染部分
  • Row() 其中组件均水平分布
  • Column() 其中组件均垂直分布 超出部分会溢出,不允许滚动

i18n

.
|-- base
|   |-- element
|   |   |-- color.json // 颜色
|   |   `-- string.json // 默认界面文本
|   |   |-- float.json // 公共常数
|   |-- media
|   |   |-- background.png
|   |   |-- foreground.png
|   |   |-- layered_image.json
|   |   `-- startIcon.png
|   `-- profile // 配置
|       |-- backup_config.json
|       `-- main_pages.json // 路由
|-- dark
|   `-- element
|       `-- color.json
|-- en_US
|   `-- element
|       `-- string.json
|-- rawfile
`-- zh_CN
    `-- element
        `-- string.json

资源分类与访问

官方文档$r("app.string.Test_title"),是一个函数,用于在模板或样式中引用应用的资源,如颜色、字符串、尺寸等。app 即为 resource 下的资源。 也可以用 $r("sys.color.XXX") 拿到系统预设的相应键值对。 ets/view 页面文件夹