
自定义组件
ts
@Preview // 使组件可以在previewer中预览
@Component
export struct Header {
build() {
Column() {
Text('Head')
}
.width('100%')
.height(50)
.backgroundColor(Color.Gray)
.padding(10)
}
}ArkTS 与 TS 差异
- 禁止
any - 禁止动态增加、删除对象属性,及对象属性的任意类型赋值
- 限制运算符语义,例如
+对字符串操作数的转型
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 页面文件夹