美文网首页鸿蒙OS app开发
ArtTS自定义组件的生命周期常用函数

ArtTS自定义组件的生命周期常用函数

作者: __Mr_Xie__ | 来源:发表于2023-11-16 09:15 被阅读0次

    前言

    自定义组件的生命周期回调函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。
    ⚠️ 允许在生命周期函数中使用Promise和异步回调函数,比如网络资源获取,定时器设置等;

    aboutToAppear

    aboutToAppear?(): void
    aboutToAppear函数在创建自定义组件的新实例后,在执行其build()函数之前执行。允许在aboutToAppear函数中改变状态变量,更改将在后续执行build()函数中生效。

    API version 9开始,该接口支持在ArkTS卡片中使用。

    aboutToDisappear

    aboutToDisappear?(): void
    aboutToDisappear函数在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量,特别是@Link变量的修改可能会导致应用程序行为不稳定。

    API version 9开始,该接口支持在ArkTS卡片中使用。

    onPageShow

    onPageShow?(): void
    页面每次显示时触发一次,包括路由过程、应用进入前台等场景,仅@Entry装饰的自定义组件生效。

    onPageHide

    onPageHide?(): void
    页面每次隐藏时触发一次,包括路由过程、应用进入前后台等场景,仅@Entry装饰的自定义组件生效。

    onBackPress

    onBackPress?(): void
    当用户点击返回按钮时触发,仅@Entry装饰的自定义组件生效。

    示例代码

    // xxx.ets
    @Entry
    @Component
    struct IndexComponent {
      @State textColor: Color = Color.Black;
    
      onPageShow() {
        this.textColor = Color.Blue;
        console.info('IndexComponent onPageShow');
      }
    
      onPageHide() {
        this.textColor = Color.Transparent;
        console.info('IndexComponent onPageHide');
      }
    
      onBackPress() {
        this.textColor = Color.Red;
        console.info('IndexComponent onBackPress');
      }
    
      build() {
        Column() {
          Text('Hello World')
            .fontColor(this.textColor)
            .fontSize(30)
            .margin(30)
        }.width('100%')
      }
    }
    

    相关文章

      网友评论

        本文标题:ArtTS自定义组件的生命周期常用函数

        本文链接:https://www.haomeiwen.com/subject/kpbswdtx.html