HarmonyOS常用常新(课总)

73 阅读3分钟

01、课程介绍

鸿蒙系统支持多种设备和平台,开发者可以一次开发多端部署;鸿蒙应用开发框架提供了丰富的API和组件,降低了开发难度;鸿蒙系统具有强大的性能优化和调试工具,提高了开发效率。

02、软件下载

link.juejin.cn/?target=htt…

03、变量

语法:使用let定义变量(可以重新赋值)

let title:string = 'haha'
title = '美美'
let list:string[]=['1','2','3']
list[0]='0'

04、常量

语法:const 常量名:类型 = 值

//用来存储数据,常量不可修改
const PI:number = 3.1415926

变量常量的注意事项(命名规则):

  • 只能包含数字、字母、下划线、$,不能以数字开头
  • 不能使用内置关键字或保留字(let、const)
  • 严格区分大小写

05、数组

语法:let 数组名:类型[] = [数据1、数据2、数据3、...]

//数组指定的类型和存储的类型要保持一致
let persons:string[] = ['张三','李四','王五']

image.png

06、函数

是可以被重复使用的代码块,有利于代码复用

function print(){
   console.log('哈哈哈')
}

07、函数的完整用法

根据传入的不同数据,进行处理返回处理后的结果

function 函数名(形参1:类型,形参2:类型...){
 //处理数据逻辑
 return 处理结果
}
let 变量名:类型 = 函数名(实参1,实参2...)

08、箭头函数更简洁

let count = (price:number,num:number) => {
  return price*num
}
count(2,3)

09、对象【属性】

通过interface接口约定对象结构类型

//1、定义接口
interface person {
  name: string
  age: number
}
//2、基于接口,定义对象
let LSB: person = {
    name: '梁山伯',
    age: 20
}
//3、访问对象
let ZYT: perxon = {
    name: '祝英台'age: 19
}
console.log('输出姓名:',ZYT.name) //日志输出:祝英台

10、对象【方法】

//1、定义方法
interface person {
  name: string
  age: number
  cry: (say:string) => void
}
//2、基于接口,定义对象
let LSB: person = {
    name: '梁山伯',
    age: 20,
    cry:(say:string)=>{
    console.log('笑cry了...',say)
  }
}
//调用
LSB.cry('共白头') //日志输出:笑cry了... 共白头

11、联合类型

  • 联合类型是一种灵活的数据类型,他修饰的变量可以存储不同的数据类型
  • 语法:let变量:类型1 | 类型2 | 类型3 = 值
let judge:number | string = 100
judge = 'A+'
  • 联合数据类型还可以将变量约定在一组数据范围内进行选择
let gender:'man' | 'woman' | 'secret' = 'man'
let a:any(代表任意类型) = 'jack'

12、枚举类型

//定义枚举类型(常量列表)
enum 枚举名 {
  常量1 = 值,
  常量2 = 值,
  ...
}
//声明
enum ThemeColor {
  red: '#FF0F29',
  white: '#FFF',
  black: '#000'
}
//调用
let color:ThemeColor = ThemeColor.red

enum Color { Red, Green, Blue }; 
function getColorName(color: Color): string {
    switch (color) {
        case Color.Red:
            return '红色';
        case Color.Green:
            return '绿色';
        case Color.Blue:
            return '蓝色';
        default:
            return '未知颜色';
    }
}
console.log(getColorName(Color.Red)); // 输出: 红色

image.png

image.png

image.png

参考文档

  1. 缩放:scale({x:1,y:1})
  2. 图片的网络地址需要增加权限
  3. struct()类比template标签
  4. Badge 角标
  5. Grid animation 网格分布
  6. swiper aspectRadiu 轮播图
  7. 样式结构通用抽取 @extend @styles(不支持传参),分全局跟组件内部 @bulider
  8. Array.form({length:65})
  9. scrollable(ScrollDirection.vertical) scrollbar(BarState.(on|off|auto))
  10. tabs(){ tabContent(){text:'内容'}} 位置barPosiition barMode(BarMode.Scrollable))
  11. 泛型 getType<t1,t2>{temp:string|number|boolean} t是类型变量
  12. 状态变量@State 成员变量 箭头函数支持传参