当前位置: 首页 > news >正文

arkts基础知识

1.Object类型

Object类型是所有引用类型的基类型。任何值,包括基本类型的值(它们会被自动装箱),都可以直接被赋给Object类型的变量。

2.枚举常量

使用枚举常量时必须以枚举类型名称为前缀。

enum ColorSet { Red, Green, Blue }
let c: ColorSet = ColorSet.Red;

3.union类型

union类型即联合类型,是由多个类型组合成的引用类型。联合类型包含了变量可能的所有类型。

class Cat {// ...
}
class Dog {// ...
}
class Frog {// ...
}
type Animal = Cat | Dog | Frog | number
// Cat、Dog、Frog是一些类型(类或接口)let animal: Animal = new Cat();
animal = new Frog();
animal = 42;
// 可以将类型为联合类型的变量赋值为任何组成类型的有效值

4.闭包 


  https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/introduction-to-arkts-V5#闭包


5.快捷键


Alt+7   
ctl+F12  类代码结构
shift+shift  全局搜文件或代码  可直接选all

6.入口页面如何引用的


 a.entry里的module.json5中找到带skills的aibility,里面有"srcEntry": "./ets/entryability/EntryAbility.ts"
 b.ets/entryability/EntryAbility.ts里的方法onWindowStageCreate()有通过loadContent加载第一个页面windowStage.loadContent('pages/Index', (err, data)
 c.第一个加载的页面就是entry\pages\Index.ets


7.页面路由

router.back() 和 router.pushUrl() 的区别
  router.back() 会将当前页面移出页面栈
  router.pushUrl() 不会将当前页面移出页面栈


8.aboutToAppear()

使用场景:发起网络请求和数据初始化


9.装饰器


  @state  装饰状态变量,变量必须初始化
  @Prop   装饰状态变量,变量允许初始化,父向子单向传值(父State,子Prop)
  @Extend 抽取组件的共有属性到一个函数,在build外部定义
  @Link   装饰状态变量,变量禁止初始化,父与子双向传值(父State,子Link)
  @Builder  将重复的UI元素封装成一个方法,在build内调用,在build内定义  

示例1

@Extend(Column)
function ColumnStyle() {.justifyContent(FlexAlign.Center).width(150).height(150).borderRadius(10)

示例2

build() {Column() {this.CommonText}@BuilderCommonText() {Text('ArkUI').fontWeight(FontWeight.Bold).fontSize(20).fontColor(Color.White)}
}

10.布局组件


Row
Column
Stack
List


11.ForEach
12.MVVM架构

13.属性动画

// 需求:利用animateTo做动画
// 组件1: 做旋转动画
// 组件2: 做位移和透明度动画
//第一步: 声明相关状态变量
//第二步:将状态变量设置到相关可动画属性接口 (状态变量关联组件属性)
//第三步:动画接口的 闭包内通过状态变量改变UI界面  (改变状态变量,开启动画)

      // 1. animation:可以让多个动画,使用不同的动画参数
      // 2. animateTo:多个动画,只能公用一个相同的动画参数

14.转场动画


出现、消失
导航转场
模态转场
共享元素转场


http://www.mrgr.cn/news/31219.html

相关文章:

  • (不看后悔系列二)python网络爬虫爬取网络视频
  • 【React】条件渲染——逻辑与运算符
  • Spring Boot 整合 MyBatis
  • go语言中的接口含义和用法详解
  • 利用OpenAI进行测试需求分析——从电商网站需求到测试用例的生成
  • Linux系统编译boot后发现编译时间与Windows系统不一致的解决方案
  • 实例代码逐行解读
  • Git常用指令
  • 想要监控电脑?这十款电脑监控软件推荐!
  • Gitlab学习(007 gitlab项目操作)
  • python使用argparse解析命令行,如何正确传入科学计数法形式的浮点数
  • Unsupervised Domain Adaptation by Backpropagation
  • 十三 系统架构设计(考点篇)试题
  • 工程师 - .NET程序反编译器
  • SQLiteHelper
  • 视频单目标跟踪研究
  • 踩坑记录:adb修改settings数据库ContentObserver无回调
  • 基于存内计算架构的模型部署与映射优化
  • 【洛谷】P1313 [NOIP2011 提高组] 计算系数 的题解
  • MySQL —— 索引
  • mysql表逆向实体类
  • 大气网格化精细化监管监测系统
  • API 接口接入前:遵循标准流程与规范的注意事项
  • 云计算课程作业1
  • EC Shop安装指南 [ Apache PHP Mysql ]
  • CSP-J2024全真模拟题 阅读程序题3+程序填空题