ArkTS声明式开发范式

news2024/9/24 3:26:45

ArkTS声明式开发

装饰器

用来装饰类、结构体、方法以及变量,赋予其特殊的含义,如上述示例中 @Entry 、 @Component 、 @State 都是装饰器。

  • @Component 表示这是个自定义组件;

  • @Entry 则表示这是个入口组件;

  • @State 表示组件中的状态变量,此状态变化会引起 UI 变更。

  • 自定义组件(@Component)
    可复用的 UI 单元,可组合其它组件,如上述被 @Component 装饰的 struct Hello。

  • UI 描述
    声明式的方式来描述 UI 的结构,如上述 build() 方法内部的代码块。

  • 内置组件
    框架中默认内置的基础和布局组件,可直接被开发者调用,比如示例中的 Column、Text、Divider、Button。

  • 事件方法
    用于添加组件对事件的响应逻辑,统一通过事件方法进行设置,如跟随在Button后面的onClick()。

  • 属性方法
    用于组件属性的配置,统一通过属性方法进行设置,如fontSize()、width()、height()、color() 等,可通过链式调用的方式设置多项属性。

组件状态管理装饰器和@Builder装饰器

组件状态管理装饰器用来管理组件中的状态,它们分别是:@State、@Prop、@Link。

  • @State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build方法进行UI刷新。
  • @Prop与@State有相同的语义,但初始化方式不同。@Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但更改不会通知给父组件,即@Prop属于单向数据绑定。
  • @Link装饰的变量可以和父组件的@State变量建立双向数据绑定,需要注意的是:@Link变量不能在组件内部进行初始化。
  • @Builder装饰的方法用于定义组件的声明式UI描述,在一个自定义组件内快速生成多个布局内容。

@State、@Prop、@Link三者关系如图

组件生命周期函数

自定义组件的生命周期函数用于通知用户该自定义组件的生命周期,这些回调函数是私有的,在运行时由开发框架在特定的时间进行调用,不能从应用程序中手动调用这些回调函数。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1237179.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySql表中添加emoji表情

共五处需要修改。 语句执行修改: ALTER TABLE xxxxx CONVERT TO CHARACTER SET utf8mb4;

全志R128芯片RTOS调试指南

RTOS 调试指南 此文档介绍 FreeRTOS 系统方案支持的常用软件调试方法,帮助相关开发人员快速高效地进行软件调试,提高解决软件问题的效率。 栈回溯 栈回溯是指获取程序的调用链信息,通过栈回溯信息,能帮助开发者快速理清程序执行…

线性代数 - 几何原理

目录 序言向量的定义线性组合、张成空间与向量基线性变换和矩阵线性复合变换与矩阵乘法三维空间的线性变换行列式矩阵的秩和逆矩阵维度变换点乘叉乘基变换特征值和特征向量抽象向量空间 序言 欢迎阅读这篇关于线性代数的文章。在这里,我们将从一个全新的角度去探索线…

NX二次开发UF_CAM_PREF_ask_logical_value 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_PREF_ask_logical_value Defined in: uf_cam_prefs.h int UF_CAM_PREF_ask_logical_value(UF_CAM_PREF_t pref, logical * value ) overview 概述 This function provides …

DC电源模块检测故障步骤有哪些

BOSHIDA DC电源模块检测故障步骤有哪些 DC电源模块检测故障步骤如下: 1. 检查输入电压:用万用表测量输入电压,确保其在规定范围内。 2. 检查输出电压:用万用表或示波器测量输出电压,确保其在规定范围内。 3. 检查输…

HPC 集群计算类型的注意事项

HPC 集群计算类型的注意事项 HPC 工作负载在 CPU ,内存,网络和存储资源需求方面有不同的要求。 您可以从以下内容开始: 核心计数每个核心的内存网络带宽和等待时间处理器时钟速度 目标是选取返回最佳性价比的计算配置。 HPC 工作负载可以与单个核心作…

markdown常用命令说明,自己常用的,用到其他的再添加

对于要标红的字体 <font color"red">标签中的字会显示为红色</font> 之后的字不会再显示为红色注意: <font color"red">或者<font colorred>或者<font colorred>三种写法都可以

汽车智能座舱/智能驾驶SOC -1

看到华为&小康的 AITO问界M6、M7各种广告营销、宣传、测评、好评如潮水般席卷网络各APP平台。翻看了中信和海通对特斯拉M3和比亚迪元的拆解报告&#xff0c;也好奇华为的汽车芯片平台又能做出哪些新花样&#xff0c;下面是Mark开头&#xff0c;也学习下智能座舱和智能驾驶芯…

Vatee万腾的数字化掌舵:Vatee科技解决方案的全面引领

随着数字化时代的到来&#xff0c;Vatee万腾凭借其卓越的科技实力和全面的解决方案&#xff0c;成功地在数字化探索的航程中掌舵引领。 首先&#xff0c;Vatee万腾以其强大的数字化科技实力成为行业的引领者。vatee万腾不仅在人工智能、大数据分析、云计算等前沿领域取得了显著…

数据集笔记:Pems 自行下载数据+python处理

以下载District 4的各station每5分钟的车速为例 1 PEMS网站下载数据 点击红色的 选择需要的station和区域&#xff0c;点击search&#xff0c;就是对应的数据&#xff0c;点击数据即可下载 &#xff08;这个是station每5分钟的速度数据&#xff09; 2 pems 速度数据 2.1 每一…

DDD之六边形架构(Hexagonal Architecture)

领域驱动设计系列文章&#xff0c;点击上方合集↑ 六边形架构&#xff08;Hexagonal Architecture&#xff09;&#xff0c;也被称为端口和适配器架构&#xff08;Ports and Adapters Architecture&#xff09;&#xff0c;是一种软件架构模式&#xff0c;用于构建可测试、可维…

Ajax基础(应用场景|jquery实现Ajax|注意事项|Ajax发送json数据|Ajax携带文件数据)

文章目录 一、Ajax简介二、基于jquery实现Ajax三、使用Ajax注意的问题1.Ajax不要与form表单同时提交2.后端响应格式问题3、使用了Ajax作为请求后的注意事项 四、前后端数据传输的编码格式(content-Type)1.urlencoded2.formdata3.application/json 五、Ajax携带文件数据六、Ajax…

稳定性保障8个锦囊,建议收藏!

稳定性保障&#xff0c;是一切技术工作的出发点和落脚点&#xff0c;也是 IT 工作最核心的价值体现&#xff0c;当然也是技术人员最容易“翻车”的阴沟。8个稳定性保障锦囊&#xff0c;分享给各位技术人员择机使用。 #1 设定可量化的、业务可理解的可用性目标 没有度量就没有改…

快来瞧瞧这样制作出来的电子画册,还便于分享宣传呢!

说起电子画册制作&#xff0c;很多人都不知道从何入手。与传统纸质画册相比&#xff0c;电子画册最大的优点是便于传阅&#xff0c;通过微信、QQ等社交平台都能进行转发和分享。而且内容的排版基本上和纸质画册一致&#xff0c;不同的是&#xff0c;无论图片还是文字都可以赋予…

【数据结构算法(二)】链表总结

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 普通单向链表 双向链表 带哨兵的链表 环形链表 ⭐双向带头带环链表的实现⭐ ⭐链表基础OJ⭐ 普通单向链表 结点结构&#xff1a;只有val 和 next指针 初始时&#xff1a;head null; 双向链表 指针&…

特征工程完整指南 - 第一部分

苏米特班迪帕迪亚 一、说明 特征工程是利用领域知识从原始数据中提取特征的过程。这些功能可用于提高机器学习算法的性能。本篇叙述在特征选择过程的若干数据处理。 一般来说&#xff0c;特征工程有以下子步骤&#xff1a; 特征转换特征构建特征选择特征提取 二、特征转换的缺…

12.文档中添加Appendix

要在 LaTeX 文档中添加附录&#xff0c;您可以使用 \appendix 命令&#xff0c;它会告诉 LaTeX 后续部分是附录。以下是添加附录的步骤&#xff1a; 在文档的导言部分&#xff08;在 \begin{document} 之前&#xff09;导入 appendix 宏包。您可以使用以下命令&#xff1a; \…

Centos8部署MySQL主从复制报错问题

问题1.在部署MySQL主从复制时&#xff0c;创建用户提示ERROR 1819&#xff1a;Your password does not satisfy the current policy requirements。即为当前配置的密码&#xff0c;不符合策略要求。 问题1解决方式&#xff1a; set global validate_password.policyLOW; \\…

「Verilog学习笔记」含有无关项的序列检测

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 timescale 1ns/1ns module sequence_detect(input clk,input rst_n,input a,output reg match);reg [8:0] a_tem ; always (posedge clk or negedge rst_n) begin if (~rs…

jvs-智能bi(自助式数据分析)11.21更新功能上线

jvs智能bi更新功能 新增: 1.字段设置节点新增自定义时间格式功能&#xff1b; 自定义功能允许用户根据需要自定义日期和时间字段的显示格式&#xff0c;为用户提供了更大的灵活性和便利性 2.图表时间搜索条件新增向下兼容模式&#xff1b; 时间搜索条件的向下兼容模式允许用…