「前端+鸿蒙」鸿蒙应用开发-ArkTS-声明式UI组件化

2024-06-14 11:12

本文主要是介绍「前端+鸿蒙」鸿蒙应用开发-ArkTS-声明式UI组件化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

鸿蒙应用开发中,ArkTS 是一个基于 TypeScript 的开发框架,它允许开发者使用声明式 UI 和组件化的方式来构建用户界面。声明式 UI 意味着你通过描述 UI 的状态和状态的变化来更新界面,而不是通过命令式地操作 DOM。组件化则是将 UI 拆分成独立、可复用的组件。

ArkTS 快速入门 - 声明式 UI & 组件化

声明式 UI

在 ArkTS 中,你可以使用声明式的方式来定义 UI。这意味着你通过声明组件的属性和事件来构建 UI,而不是直接操作 DOM。

import { View, Text, Application } from '@ohos/arkui';@Entry
class MyPage extends Application {private myText: Text;onInit() {this.myText = new Text();this.myText.setText('Hello, ArkUI!');this.myText.setAlignment(Alignment.CENTER);this.myText.setFontSize(20);const rootView = new View();rootView.appendChild(this.myText);this.setUIContent(rootView);}
}
组件化

组件化是将 UI 拆分成独立、可复用的组件的做法。在 ArkTS 中,你可以创建自定义组件来封装 UI 和逻辑。

import { View, Text, Component, Alignment, FontSize } from '@ohos/arkui';class MyTextComponent extends Component {private text: Text;constructor() {super();this.text = new Text();this.text.setText('I am a reusable component!');this.text.setAlignment(Alignment.CENTER);this.text.setFontSize(16);}createChildren() {this.appendChild(this.text);}
}@Entry
class AppComponent extends Application {onInit() {const myComponent = new MyTextComponent();const rootView = new View();rootView.appendChild(myComponent);this.setUIContent(rootView);}
}

示例代码

以下是一个使用 ArkTS 创建的简单声明式 UI 和组件化示例:

// Import necessary ArkUI components and decorators
import { View, Text, Application, Alignment, Entry, Component } from '@ohos/arkui';// Define a custom component
class GreetingComponent extends Component {private text: Text;constructor() {super();this.text = new Text();this.text.setText('Hello, ArkTS!');this.text.setAlignment(Alignment.CENTER);this.text.setFontSize(24);}createChildren() {this.appendChild(this.text);}
}// Define the main application class
@Entry
class MainApplication extends Application {onInit() {// Create an instance of the custom componentconst greeting = new GreetingComponent();// Create the root view and append the custom componentconst rootView = new View();rootView.appendChild(greeting);// Set the root view as the UI contentthis.setUIContent(rootView);}
}// Export the main application class
export default MainApplication;

定义了一个 GreetingComponent 自定义组件,然后在 MainApplication 类中创建了这个组件的实例,并将其添加到根视图 rootView 中。MainApplication 类使用 @Entry 装饰器标记为主入口,onInit 方法是应用的初始化方法,用于设置 UI 内容。

这篇关于「前端+鸿蒙」鸿蒙应用开发-ArkTS-声明式UI组件化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060243

相关文章

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

精准寻车+鸿蒙有礼特别版均已上线! 华为鸿蒙HarmonyOS 6负一屏新升级

《精准寻车+鸿蒙有礼特别版均已上线!华为鸿蒙HarmonyOS6负一屏新升级》不少朋友升级华为鸿蒙HarmonyOS6后,发现华为负一屏此次也新增了精准寻车功能,还为过往鸿蒙5.1及以上用户再度... 最近科技圈热议话题当属华为全新发布的Mate 80系列,这次不仅有全金属机身,第二代红枫影像和全新麒麟新品

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js