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

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
  }
  @Builder
  CommonText() {
    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.kler.cn/a/318618.html

相关文章:

  • 传奇996_19——常用函数
  • Tomcat 和 Netty 的区别及应用场景分析
  • 为什么hbase在大数据领域渐渐消失
  • STM32问题集
  • Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南
  • 贪心算法day03(最长递增序列问题)
  • 获得ASPICE认证需要满足哪些条件?
  • GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions
  • 力扣 简单 206.反转链表
  • 跨平台数据库工具DataGrip v2024.2全新发布——增加智能刷新功能
  • 物理学基础精解【16】
  • 人机之间的边界
  • 最近的生活
  • 动态住宅IP的多元化应用
  • [Patriot CTF 2024]
  • 【解决】chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标
  • WPF-基础-02 DispatcherObject类
  • R语言 基础 笔记 3
  • 生成式AI赋能:对话式BI引领数据分析新潮流
  • 【devops】rsync介绍和使用
  • 数据库学习1
  • Leetcode 螺旋矩阵
  • 关于idea编辑xml文件卡死
  • 选择租用徐州服务器机柜的作用有哪些?
  • 统信服务器操作系统【开机自启动】配置方法
  • 关于前端vue3+element-plus项目正常安装运行时未报错,但是前端界面老是空白问题及解决方案(其他使用nodejs的框架同理)