#HarmonyOS:装饰器UI描述---@Link

news/2025/1/19 13:33:22/

装饰器

装饰器(Decorator)是一种语法结构,用来在定义时修改类(class)的行为。

在语法上,装饰器有如下几个特征。

  1. 第一个是字符(或者说前缀)是@,后面是一个表达式
  2. @后面的表达式,必须是一个函数
  3. 这些函数接受所修饰对象的一些相关值作为参数
  4. 这个函数要么不返回值,要么返回一个新对象取代所修饰的目标对象
@Component

自定义组件

struct

自定义结构体,可重用的ui的单元

State 也是一种装饰器

UI描述

build中结构

build() {
}
内置组件

系统和提供的基础组件和容器组件等,可以直接调用

Row() {}是水平反向布局的容器组件

属性方法

设置组件的属性

事件方法

设置组件对事件的响应逻辑

在这里插入图片描述

组件使用

在这里插入图片描述

@Entry装饰器

在这里插入图片描述

组件导入使用

在这里插入图片描述

自定义组件生命周期

aboutToAppear:组件即将出现时回调该接口,具体时机为在创建自定义组件的新实例后,在执行其build()函数之前执行。

aboutToDisappear:在自定义组件析构销毁之前执行。不允许在aboutToDisappear函数中改变状态变量,特别是@Link变量的修改可能会导致应用程序行为不稳定。
在这里插入图片描述

在这里插入图片描述

ForEach
ForEach(arr: Array,itemGenerator: (item: any, index?: number) => void,keyGenerator?: (item: any, index?: number): string => string
)
@Link装饰器:父子双向同步

子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。


http://www.ppmy.cn/news/1261740.html

相关文章

Volumetric Lights 2 HDRP

高清晰度渲染管道,包括先进的新功能,如半透明阴影图和直接灯光投射加上许多改进。 插件是一个快速,灵活和伟大的前瞻性光散射解决方案的高清晰度渲染管道。只需点击几下,即可改善场景中的照明视觉效果。 兼容: 点光源 聚光灯 碟形灯 矩形灯 通过覆盖摄像机周围大面积区域的…

第1章-初识Java规则及一些注意事项

1、.java结尾的文件我们称为Java源文件; 2、.class结尾的文件我们称为class文件,又可以被称为类文件、二进制文件、字节码文件、机器码文件,它是编译后的产物; 3、严格区别大小写; 4、代码中的标点符号都是英文输入…

MetricBeat监控MySQL

目录 一、安装部署 二、开启mysql监控模块 三、编辑mysql配置文件 四、启动Metricbeat 五、查看监控图表 一、安装部署 metriceat的安装部署参考章节: Metricbeat安装使用,这里不再赘述。 二、开启mysql监控模块 进入metricbeat安装目录 ./metricb…

oomall课堂笔记

一、项目分层结构介绍 controller层(控制器层): 作用:负责输出和输入,接收前端数据,把结果返回给前端。 1.处理用户请求,接收用户参数 2.调用service层处理业务,返回响应 servi…

会声会影2024软件还包含了视频教学以及模板素材

会声会影2024中文版是一款加拿大公司Corel发布的视频编软件。会声会影2024官方版支持视频合并、剪辑、屏幕录制、光盘制作、添加特效、字幕和配音等功能,用户可以快速上手。会声会影2024软件还包含了视频教学以及模板素材,让用户剪辑视频更加的轻松。 会…

TCP单聊和UDP群聊

TCP协议单聊 服务端: import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.V…

python 涉及opencv mediapipe知识,眨眼计数 供初学者参考

基本思路 我们知道正面侦测到人脸时,任意一只眼睛水平方向上的两个特征点构成水平距离,上下两个特征点构成垂直距离 当头像靠近或者远离摄像头时,垂直距离与水平距离的比值基本恒定 根据这一思路 当闭眼时 垂直距离变小 比值固定小于某一个…

JavaSE基础50题:17. (递归)求1+2+3+……+10

概述 递归求123……10 代码 public class P17 {public static int sum(int n) {if (n 1) {return 1;}return n sum(n-1);}public static void main(String[] args) {System.out.println(sum(10)); //55} }运行过程 如:1234,最后的结果为10