鸿蒙HarmonyOS开辟框架—ArkTS语言(基本语法 三)_实验三 arkts底子语法 ...

打印 上一主题 下一主题

主题 1009|帖子 1009|积分 3027

先自我先容一下,小编浙江大学结业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是本身探索成长,但本身不成体系的自学效果低效又漫长,而且极易碰到天花板技能故步自封!
因此网络整理了一份《2024年最新HarmonyOS鸿蒙全套学习资料》,初衷也很简朴,就是盼望能够资助到想自学提升又不知道该从何学起的朋友。





既有适合小白学习的零底子资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开辟知识点,真正体系化!
由于文件比较多,这里只是将部门目次截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注鸿蒙)

正文

}
build() {
Column() {
// this.showChild为true,创建Child子组件,实验Child aboutToAppear
if (this.showChild) {
Child()
}
// this.showChild为false,删除Child子组件,实验Child aboutToDisappear
Button(‘create or delete Child’).onClick(() => {
this.showChild = false;
})
// push到Page2页面,实验onPageHide
Button(‘push to next page’)
.onClick(() => {
router.pushUrl({ url: ‘pages/Page2’ });
})
}
}
}
@Component
struct Child {
@State title: string = ‘Hello World’;
// 组件生命周期
aboutToDisappear() {
console.info(‘[lifeCycle] Child aboutToDisappear’)
}
// 组件生命周期
aboutToAppear() {
console.info(‘[lifeCycle] Child aboutToAppear’)
}
build() {
Text(this.title).fontSize(50).onClick(() => {
this.title = ‘Hello ArkUI’;
})
}
}
复制
以上示例中,Index页面包含两个自界说组件,一个是被@Entry装饰的MyComponent,也是页面的入口组件,即页面的根节点;一个是Child,是MyComponent的子组件。只有@Entry装饰的节点才可以生效页面的生命周期方法,所以MyComponent中声明白当前Index页面的页面生命周期函数。MyComponent和其子组件Child也同时也声明白组件的生命周期函数。


  • 应用冷启动的初始化流程为:MyComponent aboutToAppear --> MyComponent build --> Child aboutToAppear --> Child build --> Child build实验完毕 --> MyComponent build实验完毕 --> Index onPageShow。
  • 点击“delete Child”,if绑定的this.showChild变成false,删除Child组件,会实验Child aboutToDisappear方法。
  • 点击“push to next page”,调用router.pushUrl接口,跳转到另外一个页面,当前Index页面隐藏,实验页面生命周期Index onPageHide。此处调用的是router.pushUrl接口,Index页面被隐藏,并没有销毁,所以只调用onPageHide。跳转到新页面后,实验初始化新页面的生命周期的流程。
  • 如果调用的是router.replaceUrl,则当前Index页面被销毁,实验的生命周期流程将变为:Index onPageHide --> MyComponent aboutToDisappear --> Child aboutToDisappear。上文已经提到,组件的销毁是从组件树上直接摘下子树,所以先调用父组件的aboutToDisappear,再调用子组件的aboutToDisAppear,然后实验初始化新页面的生命周期流程。
  • 点击返回按钮,触发页面生命周期Index onBackPress。最小化应用或者应用进入后台,触发Index onPageHide。这两个状态下应用都没有被销毁,所以并不会实验组件的aboutToDisappear 。应用回到前台,实验Index onPageShow。
  • 退出应用,实验Index onPageHide --> MyComponent aboutToDisappear --> Child aboutToDisappear。
@Builder装饰器:自界说构建函数

前面章节先容了如何创建一个自界说组件。该自界说组件内部UI布局固定,仅与使用方举行数据传递。ArkUI还提供了一种更轻量的UI元素复用机制@Builder,@Builder所装饰的函数遵照build()函数语法规则,开辟者可以将重复使用的UI元素抽象成一个方法,在build方法里调用。
为了简化语言,将@Builder装饰的函数也称为“自界说构建函数”。
装饰器使用说明

自界说组件内自界说构建函数

界说的语法:
@Builder myBuilderFunction({ … })
复制
使用方法:
this.myBuilderFunction({ … })
复制


  • 允许在自界说组件内界说一个或多个自界说构建函数,该函数被认为是该组件的私有、特殊范例的成员函数。
  • 自界说构建函数可以在所属组件的build方法和其他自界说构建函数中调用,但不允许在组件外调用。
  • 在自界说函数体中,this指代当前所属组件,组件的状态变量可以在自界说构建函数内访问。发起通过this访问自界说组件的状态变量而不是参数传递。
全局自界说构建函数

界说的语法:
@Builder function MyGlobalBuilderFunction({ … })
复制
使用方法:
MyGlobalBuilderFunction()
复制


  • 全局的自界说构建函数可以被整个应用获取,不允许使用this和bind方法。
  • 如果不涉及组件状态厘革,发起使用全局的自界说构建方法。
参数传递规则

自界说构建函数的参数传递有按值传递和按引用传递两种,均需服从以下规则:


  • 参数的范例必须与参数声明的范例同等,不允许undefined、null和返回undefined、null的表达式。
  • 在自界说构建函数内部,不允许改变参数值。如果需要改变参数值,且同步回调用点,发起使用@Link。
  • @Builder内UI语法遵照UI语法规则。
按引用传递参数

按引用传递参数时,传递的参数可为状态变量,且状态变量的改变会引起@Builder方法内的UI刷新。ArkUI提供$$作为按引用传递参数的范式。
ABuilder( $$ : { paramA1: string, paramB1 : string } );
复制
@Builder function ABuilder(KaTeX parse error: Can't use function '$' in math mode at position 64: …arByReference: $̲{.paramA1} `)
}
}
@Entry
@Component
struct Parent {
@State label: string = ‘Hello’;
build() {
Column() {
// 在Parent组件中调用ABuilder的时间,将this.label引用传递给ABuilder
ABuilder({ paramA1: this.label })
Button(‘Click me’).onClick(() => {
// 点击“Click me”后,UI从“Hello”刷新为“ArkUI”
this.label = ‘ArkUI’;
})
}
}
}
复制
按值传递参数

调用@Builder装饰的函数默认按值传递。当传递的参数为状态变量时,状态变量的改变不会引起@Builder方法内的UI刷新。所以当使用状态变量的时间,推荐使用按引用传递。
@Builder function ABuilder(paramA1: string) {
Row() {
Text(UseStateVarByValue: ${paramA1} )
}
}
@Entry
@Component
struct Parent {
label: string = ‘Hello’;
build() {
Column() {
ABuilder(this.label)
}
}
}

末了,为了能让各人更好的去学习提升鸿蒙 (Harmony OS) 开辟技能,小编连夜整理了一份30个G纯血版学习资料(含视频电子书学习文档等)以及一份在Github上持续爆火霸榜的《纯血版华为鸿蒙 (Harmony OS)开辟手册》(共计890页),盼望对各人有所资助。
纯血版鸿蒙 HarmonyOS 4.0 视频学习资料



需要以上视频学习资料小伙伴
请点击→纯血版全套鸿蒙HarmonyOS学习资料

《纯血版华为鸿蒙 (Harmony OS)开辟手册》

这份手册涵盖了当前鸿蒙 (Harmony OS) 开辟技能必掌握的核心知识点
纯血版鸿蒙 (Harmony OS)开辟手册部门精彩内容

HarmonyOS 概念:


  • 体系界说
  • 技能架构
  • 技能特性
  • 体系安全

如何快速入门?


  • 基本概念
  • 构建第一个ArkTS应用
  • 构建第一个JS应用
  • ……

开辟底子知识:


  • 应用底子知识
  • 配置文件
  • 应用数据管理
  • 应用安全管理
  • 应用隐私保护
  • 三方应用调用管控机制
  • 资源分类与访问
  • 学习ArkTS语言
网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待加入我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
隐私保护


  • 三方应用调用管控机制
  • 资源分类与访问
  • 学习ArkTS语言
网上学习资料一大堆,但如果学到的知识不成体系,碰到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技能提升。
需要这份体系化的资料的朋友,可以添加V获取:vip204888 (备注鸿蒙)
[外链图片转存中…(img-sMLkKW0P-1713217731303)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感爱好的新人,都接待加入我们的的圈子(技能交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表