鸿蒙 - 样式&结构重用

样式&结构重用:  //提升编码效率,减少重复代码,提升代码可读性。


1.@Styles:     //@Styles 可以抽取 通用的事件和属性
@Styles 不支持传递参数     可以继续添加样式覆盖 @Styles 中定义的内容
组件内部写法,可以通过 this 访问组件属性
@Styles function functionName() {.通用属性().通用事件(()=>{})}  //全局定义    
如果要在组件内定义:@Styles fancy() {.通用属性().通用事件(()=>{this.xxx})}  //能使用状态
Column(){组件().fancy()组件().functionName()}  // 使用

2.@Extend:    //通过 Extend 可以扩展组件的样式、事件,  实现复用效果
语法:不同于@Styles,@Extend只能定义在全局,并且可以传递参数
比如 @Extend(Text) ,那么后续通过 Text 才可以点出该扩展
如:@Extend(组件名) function functionName(参数1....) {.属性().事件(()=>{})}  // 定义
组件(){}.functionName(参数1...)  // 使用

3.@Builder(常用)//如果连结构也需要抽取,就可以使用@Builder,他也可以叫做 自定义构建函数
如果组件内 自定义构建函数 需要通过 this 访问,内部可以通过 this 使用组件属性
如果全局 自定义构建函数 没有上述特点
// 自定义 如果组件内 构建函数
@Builder MyBuilderFunction( param1,param2...) {结构、属性、事件放这里}
this.MyBuilderFunction(param1,param2...)   // 通过 this 来使用
//自定义 如果全局 构建函数
@Builder function MyGlobalBuilderFunction(param1,param2...) {结构、属性、事件放这里}
MyGlobalBuilderFunction(param1,param2...)   //使用

4.总结: 
@Styles 抽取 公共样式、事件    不可以传递参数
@Extend 抽取 特定组件 样式、事件 可以传递参数
@Builder 抽取 结构、样式、事件 可以传递参数
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值