前言
最近,项目需要开发鸿蒙版的,跟随时代潮流,学习一下鸿蒙,小白一个,记录一下,学习开发过程中遇到的问题。
1. 开发过程,热更新,hot reload
默认未开启,点击顶部的hot reload也可以,不想点击顶部的话,需要勾上保存,页面开发时,command+s就可以实时看到页面了。
注意运行Debug模式,才会生效。
2.SampleListPage()' does not comply with the UI component syntax. <ArkTSCheck>
导入页面,提示这个,忘加export了。
3. > hvigor ERROR: Error: Cannot find project build file 'build-profile.json5'
更新合并代码后总是提示这个错误,之前在.gitignore文件中把.json5的文件忽略了,导致每次一拉取别人的代码,本地就没了,把忽略移除。
这个是两个
这个多人开发的时候容易冲突覆盖,还原为自己的就可以了。
4,类型判断
昨天用到方法类型判断和小数处理,找了一通
方法判断参数类型用typeof,这样:
if (typeof value == 'string') {
content = value;
}
number小数,整数处理,
// 舍弃小数
content = value.toFixed(0)
// number 转换为string
content = value.toString();
完整的方法:
// 返回number判空转换安全字符串
// 整数、浮点数据处理,isTruncate是否保留整数部分,舍弃小数部分
static safeNumber(value?: string | number, isTruncate: Boolean = false): string {
let content: string = ''
if (value != null) {
if (typeof value == 'string') {
content = value;
} else if (typeof value == 'number') {
if (isTruncate) {
// content = parseInt(value);
// 舍弃小数
content = value.toFixed(0)
} else {
// number 转换为string
content = value.toString();
}
}
}
return content;
}
翻译的Flutter里面的方法。
5,Column对齐
结构为
Column (){
Row(){
Column(){
}
.justifyContent(FlexAlign.Start)
.align(Alignment.Start)//对齐设置无效
.alignItems(HorizontalAlign.Start)//这样设置才可以
}
}
线性布局(Row/Column)
1.Row容器
Row(value?:{space?: number | string }):容器包裹的元素横向排列
- 参数space用来控制子元素的间距
- 除了共有属性,Row容器有两个独有属性alignItems、justifyContent用来指定子元素的对齐方式。
属性 | 属性类型 | 值 | 描述 |
---|---|---|---|
alignItems | VerticalAlign | Top/Center(默认)/Bottom | 垂直方向上的对齐格式。 |
justifyContent | FlexAlign | StartCenter(默认)/End/SpaceBetween/SpaceAround/SpaceEvenly | 水平方向上的对齐格式。 |
垂直方向对齐alignItems
Column相对Row一样的。