样式&结构重用
随着页面越来越复杂,页面中有很多的样式&结构代码,其中难免重复的部分,如果可以提取出来重复使用,
就可以提升编码效率,减少重复代码,提升代码可读性。
三种样式&结构复用的语法:
1. @Extend : 扩展组件(样式、事件)
通过 Extend 可以扩展组件的样式、事件,实现复用效果
注意:扩展的组件和使用的组件同名,比如 @Extend(Text) ,那么后续通过 Text 才可以点出该扩展
2. @Styles :抽取通用属性、事件**
不同于@Extend 用来给某个组件扩展,@Styles 可以抽取 通用的事件和属性
局部用法 :
全局用法 :
注意:
-
不同于@Extend, @Styles 不支持传递参数
-
可以继续添加样式覆盖 @Styles 中定义的内容
-
组件内部写法,可以通过 this 访问组件属性
3. @Builder : 自定义构建函数(结构、样式、事件)
如果连结构也需要抽取,就可以使用@Builder,他也可以叫做 自定义构建函数
局部用法 :
全局用法 :
注意:
- 组件内 自定义构建函数 需要通过 this 访问,内部可以通过 this 使用组件属性
- 全局 自定义构建函数 没有上述特点
总结 :
@Extend 本质是通过函数的形式来封装,传递组件的样式和事件,但必须要用指定的封装组件名称。
@Styles 不同于@Extend,不能传递参数,只能封装一些通用的样式和事件。全局内任意的组件都可以直接使用,
局部只能当前组件内可以使用。
@Builder 不同于@Extend 和 @Styles ,只能封装样式和事件,还能封装组件。用得比较多,比较方便。