鸿蒙开发笔记

HarmonyOS基础语法

一.基本语法

1.@Entry、@Component和@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,
@State表示组件中的状态变量,状态变量变化会触发UI刷新。

2.页面和自定义组件生命周期
onPageShow:页面每次显示时触发。
onPageHide:页面每次隐藏时触发一次。
onBackPress:当用户点击返回按钮时触发。
aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。
aboutToDisappear:在自定义组件即将析构销毁时执行。

3.@Builder装饰器:自定义构建函数
3.1.组件内自定义构建函数
@Builder MyBuilderFunction(){ ... }
使用方法:this.MyBuilderFunction(){ ... }

3.2.全局自定义构建函数
@Builder function MyGlobalBuilderFunction(){ ... }
使用方法:MyGlobalBuilderFunction()

4.@BuilderParam装饰器:引用@Builder函数
4.1.初始化@BuilderParam装饰的方法
注意:@BuilderParam装饰的方法只能被自定义构建函数(@Builder装饰的方法)初始化。
@Component
struct Child {
@BuilderParam aBuilder0: () => void = this.doNothingBuilder
build(){}
}
4.2.用父组件自定义构建函数初始化子组件@BuilderParam装饰的方法
@Component
struct Child {
@BuilderParam aBuilder0: () => void;

build() {
Column() {
this.aBuilder0()
}
}
}

二.状态管理V1

  • @State装饰器 使变量拥有状态属性的装饰器
  • @Prop装饰器:装饰的变量可以和父组件建立单向的同步关系,父组件变化会自动同步到子组件,子组件对变量的修改不会自动传递到父组件。
  • @Link装饰器:父子双向同步
  • @Provide装饰器和@Consume装饰器:与后代组件双向同步(一对多关系)
  • @Watch装饰器 :为状态变量设置回调函数 (无法实现对对象、数组中某一单个属性或数组项变化的监听)
    -@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化(解决状态失效的问题)
tip:状态管理V1存在多种可接受外部传入的装饰器:@State@Prop@Link@ObjectLink (子组件参数)

二.状态管理V2

  • @Local装饰器:组件内部状态 (无法确保@State装饰变量的初始值一定为组件内部定义的值)
  • @Param: 组件外部输入。(子组件接收参数)
    -@ObservedV2装饰器和@Trace装饰器:解决@Observed装饰器和@ObjectLink调用过于复杂的问题.
    -@Once:仅初始化同步一次。(@Once必须搭配@Param使用)
    -@Event装饰器 :规范组件输出,修饰函数
  • @Provider和@Consumer 跨组件层级双向同步
  • @Monitor装饰器: 状态变量修改监听.
  • @Computed装饰器:计算属性.(防止重复计算,为方法装饰器,仅能装饰getter方法)
  • @Type :使得类属性序列化时不丢失类型信息,便于类的反序列化。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容