【HarmonyOS 5】鸿蒙页面和组件生命周期函数

举报
GeorgeGcs 发表于 2025/05/08 17:44:36 2025/05/08
【摘要】 【HarmonyOS 5】鸿蒙页面和组件生命周期函数 一、生命周期阶段:创建阶段build:构建组件的 UI 结构和样式。onDidBuild:build 方法执行完毕后调用,可用于数据初始化或额外的 UI 调整。挂载阶段onPageShow:页面显示时调用。onReady:组件挂载到页面后调用。onWindowStageShow:窗口显示时调用。交互阶段onBackPress:用户点击返...

【HarmonyOS 5】鸿蒙页面和组件生命周期函数

一、生命周期阶段:

创建阶段
build:
构建组件的 UI 结构和样式。

onDidBuild:
build 方法执行完毕后调用,可用于数据初始化或额外的 UI 调整。

挂载阶段
onPageShow:
页面显示时调用。
onReady:
组件挂载到页面后调用。
onWindowStageShow:
窗口显示时调用。

交互阶段
onBackPress:
用户点击返回按钮时调用。

销毁阶段
onPageHide:
页面隐藏时调用。

onDestroy:
组件销毁时调用。

二、页面和组件的生命周期函数如何区分?

首先我们需要理解页面和自定义组件的概念。

在 ArkUI 中,页面组件指的是被@Entry装饰的组件,其拥有独特的生命周期接口,这些接口对页面在不同状态下的行为控制起着关键作用。

自定义组件则由@Component装饰。

如何分清楚哪些是页面独有的生命周期函数呢?关键点在于函数名字中的page,例如onPageShow,onPageHide这两个就是页面独有。并且还有个特殊的函数,即:返回按钮触发函数,onBackPress。只需要记住,只有页面才能响应返回按钮即可。

三、DEMO示例

@Entry
@Component
struct LifeCycleExample {
  build() {
    Column({ space: 50 }) {
      Text('生命周期示例')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
    }
    .width('100%')
  }

  onDidBuild() {
    console.log('build方法执行完毕');
  }

  onPageShow() {
    console.log('页面显示');
  }

  onReady() {
    console.log('组件挂载完成');
  }

  onWindowStageShow() {
    console.log('窗口显示');
  }

  onBackPress(): boolean {
    console.log('点击返回按钮');
    return false;
  }

  onPageHide() {
    console.log('页面隐藏');
  }

  onDestroy() {
    console.log('组件销毁');
  }
}
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。