HarmonyOS 备忘录(持续更新中)

275 阅读2分钟

“本文正在参加华为鸿蒙有奖征文征文活动”

记录this指向问题

不用箭头函数this指向会有问题 developer.huawei.com/consumer/cn…

image.png

项目代码架构 单HAP+可选(多HSP)+可选(多HAR)

官方 developer.huawei.com/consumer/cn…

  • HAP: HarmonyOS 的核心理念之一是 一次开发,多端部署,多 HAP 就是为此而生的。是应用安装和运行的基本单元
  • HAR: 静态共享库 HAR 对标 Android 工程里的 JAR/AAR,可以包含代码、C++库、资源和配置文件。不可独立运行。DevEco Studio 中新建 HAR 的操作路径是 New -> Module -> 选择 Static Library
  • HSP: 动态共享包,可以包含代码、C++库、资源和配置文件。这种的适用于按需加载的模块,可独立运行。DevEco Studio 中新建 HSP 的操作路径是 New -> Module -> 选择 Shared Library
  • 大部分项目都是单HAP+可选(多HAR)

为啥有的用 bind(this)

  • bind(this) 表示使用父组件的对象
  • 慎用,不要瞎用
/** 需注意this的指向:
 * 父组件写成这样 tabBarRight: this.tabBarRight.bind(this) ; @Builder tabBarRight() { 里的this指的是父组件this}
 * 父组件写成这样 tabBarRight: this.tabBarRight ; @Builder tabBarRight() { 里的this指的是子组件this}
 * */

应用程序包概述

docs.openharmony.cn/pages/v4.1/… f1b24637cc4fe60f2dad58278f96475.png

创建用.ets还是.ts

  • 都用.ets也可以
  • 涉及到UI的时候用.ets,涉及到工具类用.ts

app.json5和module.json5中的应用图标和名字区别

  • app.json5中的icon和label对应的是应用管理列表里的

image.png

  • module.json5中的icon和label对应的才是桌面上的应用图标和名字

image.png

@Component 、@Builder

image.png

  1. @Component封装大的组件
  2. @Builder自定义构建函数,可以理解为 构建页面的函数;@Builder插槽多点,封装一些小的模块

设置 designWidth

docs.openharmony.cn/pages/v4.1/…

像素单位

docs.openharmony.cn/pages/v4.1/…

image.png

image.png

export default 和 export之间的区别

状态管理

在声明式UI中,以状态驱动视图更新

官方文档 developer.huawei.com/consumer/cn…

image.png

image.png

${}引用,俗称大漂 ``

下图,期望内容展示出来,结果是这样的

image.png 正确用法:键盘:tab上方,1左边

image.png