第五讲_ArkTS装饰器(二)

1. @Styles装饰器

@Styles装饰器可以将多条样式设置提炼成一个方法,直接在组件声明的位置调用。通过@Styles装饰器可以快速定义并复用自定义样式。

1.1 组件内的@Styles

@Entry
@Component
struct FirstComponent {
   
  // 定义一个@Styles样式方法
  @Styles MyStyles() {
   
    .width(100)
    .height(100)
    .backgroundColor(Color.Red)
  }

  build() {
   
    Column() {
   
      Text("使用组件内的@Styles样式")
        // 使用@Style样式方法
        .MyStyles()
    }
  }
}

1.2 全局的@Styles

@Entry
@Component
struct FirstComponent {
   
  
  build() {
   
    Column() {
   
      Text("使用全局的@Styles样式")
        // 使用全局的@Styles样式方法
        .MyGlobalStyles()
    }
  }
}

// 定义全局全局的@Styles需要添加function关键字
// 定义全局的@Styles样式方法
@Styles function MyGlobalStyles() {
   
  .width(100)
  .height(100)
  .backgroundColor(Color.Red)
}

1.3 @Styles注意事项

  1. 当前@Styles仅支持通用属性和通用事件。
  2. @Styles方法不支持参数。
  3. 组件内@Styles的优先级高于全局@Styles
  4. 框架优先找当前组件内的@Styles,如果找不到,则会全局查找。

2. @Extend装饰器

@Extend装饰器给指定的组件封装样式方式。@Extend装饰器与@Styles装饰器的不同:

  1. @Extend仅支持定义在全局,不支持在组件内部定义。
  2. @Extend支持封装指定的组件的私有属性和私有事件。
  3. @Extend装饰的方法支持参数。
@Entry
@Component
struct FirstComponent {
   

  build() {
   
    Column() {
   
      Text("使用@Exteng定义的样式方法")
        // 使用样式方法
        .MyStyles()
    }
  }
}

// @Extend给Text组件定义一个样式方法
@Extend(Text) function MyStyles() {
   
  .width(100)
  .height(100)
  .backgroundColor(Color.Red)
}

相关推荐

  1. _ArkTS装饰

    2024-01-20 18:18:01       39 阅读
  2. _ArkTS装饰(一)

    2024-01-20 18:18:01       40 阅读
  3. ArkTs 语法学习 ---- 组件相关装饰

    2024-01-20 18:18:01       29 阅读
  4. 构建ArkTS之@Builder装饰:自定义构建函数

    2024-01-20 18:18:01       15 阅读
  5. 面试十装饰模式

    2024-01-20 18:18:01       16 阅读
  6. C# Solidworks次开发:枚举应用实战(

    2024-01-20 18:18:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-20 18:18:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-20 18:18:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-20 18:18:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-20 18:18:01       20 阅读

热门阅读

  1. AcWing:4662. 因数平方和

    2024-01-20 18:18:01       39 阅读
  2. Deepin/Ubuntu_查看磁盘空间大小

    2024-01-20 18:18:01       36 阅读
  3. CCC数字钥匙标准3.0版本解读(24)

    2024-01-20 18:18:01       35 阅读
  4. STM32F103C8驱动MPU6050姿态与tofsense报警 (六)

    2024-01-20 18:18:01       40 阅读
  5. 【C++】特殊类 | 单例模式

    2024-01-20 18:18:01       36 阅读
  6. 【ROS2】实现自定义服务接口

    2024-01-20 18:18:01       28 阅读
  7. 文件包含漏洞讲解

    2024-01-20 18:18:01       39 阅读
  8. 【python】Python极简速通-递归

    2024-01-20 18:18:01       35 阅读