【HarmonyOS 4.0】组件生命周期

1. 自定义组件生命周期

  1. 自定义组件:@Component 装饰的UI单元,可以组合多个系统组件实现UI的复用。
    组件生命周期,即一般用@Component装饰的自定义组件的生命周期,
  2. 提供以下生命周期接口:
    2.1 aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。
    2.2 aboutToDisappear:在自定义组件即将析构销毁时执行。

2. 页面入口组件生命周期

  1. 页面:即应用的UI页面。可以由一个或多个自定义组件组成,@Entry装饰的自定义组件为页面的入口组件,即页面的根节点,一个页面有且仅能有一个@Entry。只有被@Entry装饰的组件才可以调用页面的生命周期。页面生命周期,即被@Entry装饰的组件生命周期。
  2. 提供以下生命周期接口:
    2.1 aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。
    2.2 aboutToDisappear:在组件即将析构销毁时执行。router.replaceUrl() 进入页面会触发。
    2.1 onPageShow:页面每次显示时触发。包括路由,应用从后台进入前台等场场景。router.pushUrl() 进入页面会触发。
    2.2 onPageHide:页面每次隐藏时触发一次。包括路由,应用从前台进入后台等场景。
    2.3 onBackPress:当用户点击返回按钮时触发。

2.1 流程图如下

在这里插入图片描述

3 页面入口组件(A父)嵌套自定义组件(A子)、以及页面入口组件(B父)的生命周期

  1. 打开A父组件,
    A父aboutToAppear —> A子aboutToAppear —> A父onPageShow
  2. 在A父组件隐藏A子(flag = false):
    A子aboutToDisappear
  3. 在A父组件显示A子(flag = true):
    A子aboutToAppear
  4. 从A父跳转(pushUrl)到B父:
    B父aboutToAppear —> A父onPageHide —> B父onPageShow
  5. 从B父点击返回按钮返回A父:
    B父onBackPress —> A父onPageShow —> B父aboutToDisappear
  6. 从A父跳转(replaceUrl)到B父:
    A父aboutToDisappear —> A子aboutToDisappear —> B父aboutToAppear —> B父onPageShow
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值