当前位置: 首页 > news >正文

ArkTS声明式开发范式

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.lryc.cn/news/240162.html

相关文章:

  • 史诗级云故障敲响警钟,应用保障不能没有“连续键”!
  • SSH连接远程服务器报错:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 解决方法
  • 数据库——查询连续的月份
  • git代码提交命令(如何提交代码)
  • jmeter中调用python代码
  • 当当网获得dangdang商品详情商品列表API 测试请求入口
  • git如何查看配置,修改配置,设置配置
  • 交通流合成数据生成原理及实现代码
  • leetcode 240. 搜索二维矩阵 II
  • a标签超链接 —— 实现点击前中后变色
  • 【好玩的开源项目】Linux系统之部署proxx扫清黑洞小游戏
  • IDEA-SVN合并分支到主干
  • kettle如何写日志
  • 新能源车将突破2000万辆,汉威科技为电池安全保驾护航
  • 基于文心一言AI大模型,编写一段python3程序以获取华为分布式块存储REST接口的实时数据
  • 2022-4-11 南科大现代控制与最优估计
  • 【注册Huggingface】获取token
  • 【蓝桥杯软件赛 零基础备赛20周】第4周——简单模拟1
  • 使用OpenCV将图像转换为NV12格式并加载NV12数据
  • 【Lodash】 Filter 与Map 的结合使用
  • python命令行 引导用户填写可用的ip地址和端口号
  • 【小黑送书—第九期】>>重磅!这本30w人都在看的Python数据分析畅销书:更新了!
  • 关于APP备案的通知以及APP备案的常见问题
  • iOS 17.0 YYText 崩溃处理
  • 微信小程序面试题【100道】
  • 【nlp】2.8 注意力机制拓展
  • mysql 存储引擎ROWS与实际行数不一致
  • 软考小记-软件工程
  • 【开源】基于Vue和SpringBoot的创意工坊双创管理系统
  • COBOL排序问题