ArkTS基础——@Entry——【坚果派——红目香薰】

简介: ArkTS基础——@Entry——【坚果派——红目香薰】



 

Entry组件

@Entry装饰的自定义组件用作页面的默认入口组件,加载页面时,将首先创建并呈现@Entry装饰的自定义组件。

只在页面上呈现@Entry装饰的组件,且@Entry必须唯一。

被@Entry 装饰的入口组件,build()函数中必须有且仅有一个根容器组件,如row()。

测试代码:

@Component
struct Index {
  @State message: string = 'Hello World'
  build() {
    Row() {
      Column() { //行信息
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        ShowInfos()// 调用自定义组件
      }
      .width('100%')
    }
    .height('50%')
  }
}
@Entry
@Component
struct ShowInfos {
  @State showInfo: string = '这是华为的ArkTS语言' //这里是State是自动刷新的
  build() {
    Row() {
      Column() {
        Text(this.showInfo) //使用this.即可获得自定义的变量名进行参数设置
          .fontColor(Color.Red)
          .fontSize(70)
          .fontWeight(FontWeight.Bolder)
          .textAlign(TextAlign.Center)
      }.width('100%')
    }.height('50%')
  }
}

更换函数调用

调试代码

@Component
struct Index {
  @State message: string = 'Hello World'
  build() {
    Row() {
      Column() { //行信息
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('50%')
  }
}
@Entry
@Component
struct ShowInfos {
  @State showInfo: string = '这是华为的ArkTS语言' //这里是State是自动刷新的
  build() {
    Row() {
      Column() {
        Text(this.showInfo) //使用this.即可获得自定义的变量名进行参数设置
          .fontColor(Color.Red)
          .fontSize(70)
          .fontWeight(FontWeight.Bolder)
          .textAlign(TextAlign.Center)
        Index() // 调用Index自定义组件
      }.width('100%')
    }.height('50%')
  }
}

Entry使用注意事项阐述说明

ArkTS是一种声明型工具,主要用于TypeScript和Vue 3的开发,其中的@Entry组件可以帮助我们更好的组织代码和界面。使用ArkTS的@Entry时,有几个重要的注意事项:

  • 避免依赖泄露:当组件创建并挂载后,依赖其他组件,可能需要引入或者需要清理等。如果没有妥善处理这些依赖,可能会引发泄漏。所以建议在每次创建新的Entry时都考虑好它的生命周期。
  • 使用条件渲染:对于同一个@Entry创建的不同实例,由于在内存中的生命周期问题,有可能在不同的生命周期调用其生命周期函数。此时使用条件渲染可以有效避免问题。
  • 注意布局管理:使用ArkTS进行开发时,组件之间的布局问题也是需要重点考虑的。特别是在一些复杂的界面中,如何确保布局的正确性和美观性是一个重要的问题。
  • 正确使用API:在使用ArkTS的API时,需要注意API的使用方法和API的正确性。如果不了解API的作用和使用方式,可能会导致组件功能不正常或者出现问题。
  • 合理利用资源:ArkTS提供了一些用于处理资源的API,如Image等。在使用这些API时,需要注意资源的加载和释放,避免资源的浪费和泄漏。
  • 确保性能:ArkTS中的一些操作可能会影响性能,如动态添加组件等。在使用这些操作时,需要考虑到性能的影响,合理使用优化技术。

总的来说,使用ArkTS的@Entry时,需要注意组件的生命周期、布局管理、API的使用、资源的处理和性能优化等方面的问题。只有在综合考虑这些问题的基础上,才能更好地使用@Entry进行开发。

ArkTS的@Entry生命周期

ArkTS是一个基于TypeScript的声明文件驱动的模块打包系统,而@Entry生命周期则是在ArkTS中用于处理模块入口点的生命周期。

在ArkTS中,@Entry装饰器用于标记一个模块为入口模块,它决定了该模块在应用程序启动时被加载的时机和方式。@Entry生命周期指的是入口模块在应用程序中的生命周期,包括以下几个阶段:

  • 加载阶段:当应用程序启动时,ArkTS会扫描所有使用@Entry装饰器的模块,并加载它们。这个阶段通常发生在应用程序启动时,入口模块会被加载到内存中。
  • 初始化阶段:当入口模块被加载到内存中后,ArkTS会对其进行初始化操作,包括解析模块中的类型定义、执行模块中的代码等。这个阶段通常发生在入口模块被加载后,但还没有被使用之前。
  • 使用阶段:当应用程序需要使用入口模块中的功能时,ArkTS会将其暴露给应用程序的其他部分。这个阶段通常发生在入口模块被使用时,入口模块中的功能会被调用。
  • 清理阶段:当应用程序结束时,ArkTS会执行入口模块的清理操作,包括释放资源、关闭模块等。这个阶段通常发生在应用程序退出之前,入口模块会被清理掉。

因此,@Entry生命周期是一个有四个阶段的生命周期,它在应用程序启动和结束时控制入口模块的生命周期,确保入口模块能够正确地被加载、初始化、使用和清理。

相关文章
|
6月前
ArkTS基础——Component自定义组件——【坚果派——红目香薰】
ArkTS基础——Component自定义组件——【坚果派——红目香薰】
197 0
|
Java 程序员 数据库
黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约
黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约
6237 0
黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约
|
5月前
|
前端开发 开发工具 图形学
【你问我答】unity实现一个刮刮乐效果
【你问我答】unity实现一个刮刮乐效果
121 0
|
5月前
HarmonyOS-UIAbitity-Span——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Span——【坚果派-红目香薰】
41 0
|
5月前
HarmonyOS-UIAbitity-Text——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Text——【坚果派-红目香薰】
22 0
|
5月前
|
索引
HarmonyOS-UIAbitity-Select——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Select——【坚果派-红目香薰】
36 0
|
5月前
|
索引
HarmonyOS-UIAbitity-Stepper——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Stepper——【坚果派-红目香薰】
33 0
|
5月前
HarmonyOS-UIAbitity-StepperItem——【坚果派-红目香薰】
HarmonyOS-UIAbitity-StepperItem——【坚果派-红目香薰】
26 0
|
5月前
HarmonyOS-UIAbitity-Slider——【坚果派-红目香薰】
HarmonyOS-UIAbitity-Slider——【坚果派-红目香薰】
30 0
|
5月前
|
数据安全/隐私保护
HarmonyOS-UIAbitity-TextArea——【坚果派-红目香薰】
HarmonyOS-UIAbitity-TextArea——【坚果派-红目香薰】
40 0