HarmonyOS NEXT——奇妙的调用方式

注解调用 一句话总结
@Extend 抽取特定组件样式、事件,可以传递参数
@Style 抽取公共样式、事件,不可以传递参数
@Builder 抽取结构、样式、事件,可以传递参数
@BuilderParams 自定义组件中传递UI组件
多个@BuilderParams 自定义组件中传递多个UI组件

@Extend

一句话总结:抽取特定组件样式、事件,可以传递参数

1、使用场景

当使用组件的时候有多个重复的属性的时候,可以抽取成Extend拓展使用

2、使用Extend后简化代码

3、Extend的抽取

通过@Extend(组件名)的方式去将重复属性进行定义

@Style

一句话总结:抽取公共样式、事件,不可以传递参数

1、使用场景

当不同组件间有同样的属性参数的时候,可以用@Style来抽取相同属性值

2、使用Style后简化代码

3、Style的抽取

  1. 通过@Style function 函数名()的方式可以定义全局的通用属性
  2. 通过@Style 函数名()的方式可以定义局部的通用属性,可使用this字段的参数
  3. 注意:@Style的局限性是无法传递形参

@Builder

一句话总结:抽取结构、样式、事件,可以传递参数

1、使用场景

当场景的所有组件代码高度重复的时候,可以考虑用@Builder方式进行构造

2、使用Builder后简化代码

3、Builder的抽取

@BuilderParams

一句话总结:自定义组件中传递UI组件

1、使用场景

在自定义的组件SonCom中需要传递UI组件的参数,使用BuilderParams传递UI组件参数

2、BuilderParams的抽取

多个@BuilderParams

一句话总结:自定义组件中传递多个UI组件

1、使用场景

在多个UI参数的情况下,可以使用参数名的方式指定每一个Builder

2、BuilderParams的抽取

相关推荐
小孔龙1 小时前
VSync 与同步屏障:doFrame() 的优先调度
android·性能优化
kfzjw0081 小时前
Android 的一帧完整渲染流程:从 VSYNC 到 Screen 的全链路解密
android
wWYy.2 小时前
Mysql:覆盖索引
android·数据库·mysql
Kapaseker2 小时前
如果我要从 List 中获取一段元素
android·kotlin
三少爷的鞋2 小时前
一次朋友圈发布流程,理解 Kotlin 协程为什么重新定义异步代码组织方式
android
lmy_loveF2 小时前
构建第一个HarmonyOS元服务
华为·harmonyos
哦***72 小时前
鸿蒙小知识 | 华为耳机双击没法暂停音乐?
华为·音频·harmonyos
FungLeo3 小时前
Flutter/Android Release 包连不上网?AndroidManifest INTERNET 权限排查实录
android·flutter
wWYy.5 小时前
Mysql:一行数据是怎么存储的?
android·数据库·mysql
漏刻有时12 小时前
PHP GeoJSON转PNG地图渲染程序开发笔记、源码解读、问题复盘与整改方案
android·笔记·php