样式&结构重用

127 阅读2分钟

样式&结构重用

随着页面越来越复杂,页面中有很多的样式&结构代码,其中难免重复的部分,如果可以提取出来重复使用,

就可以提升编码效率,减少重复代码,提升代码可读性。

三种样式&结构复用的语法:

1. @Extend : 扩展组件(样式、事件)

通过 Extend 可以扩展组件的样式、事件,实现复用效果

bdb9b923-12bc-43b0-8525-6943dd124858.png

注意:扩展的组件和使用的组件同名,比如 @Extend(Text) ,那么后续通过 Text 才可以点出该扩展

2. @Styles :抽取通用属性、事件**

不同于@Extend 用来给某个组件扩展,@Styles 可以抽取 通用的事件和属性

局部用法 :

1d86c376-dad4-4d8a-ab66-ccddc640ff48.png

全局用法 :

14a0b046-6c5c-465f-a2e3-024100c7107b.png

注意:

  1. 不同于@Extend, @Styles 不支持传递参数

  2. 可以继续添加样式覆盖 @Styles 中定义的内容

  3. 组件内部写法,可以通过 this 访问组件属性

3. @Builder : 自定义构建函数(结构、样式、事件)

如果连结构也需要抽取,就可以使用@Builder,他也可以叫做 自定义构建函数

局部用法 :

10083424-cfc8-4bab-a037-cd90356d32b8.png

全局用法 :

4e076063-c55b-4f6a-8704-4838a7804200.png 注意:

  1. 组件内 自定义构建函数 需要通过 this 访问,内部可以通过 this 使用组件属性
  2. 全局 自定义构建函数 没有上述特点

总结 :

@Extend 本质是通过函数的形式来封装,传递组件的样式和事件,但必须要用指定的封装组件名称。

@Styles 不同于@Extend,不能传递参数,只能封装一些通用的样式和事件。全局内任意的组件都可以直接使用,

局部只能当前组件内可以使用。

@Builder 不同于@Extend 和 @Styles ,只能封装样式和事件,还能封装组件。用得比较多,比较方便。