鸿蒙开发-装饰器汇总

一、概述
状态管理机制:声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的状态变化所带来的UI的重新渲染

常用的装饰器有@Prop、@Link、@Provide、@Observed 和 @ObjectLink 装饰器

装饰器

描述

@Component

将结构体标记为可复用的UI组件,使其具有组件化能力,能够成为一个独立的组件。同时支持组件的生命周期管理和UI绘制。

@Entry

将结构体标记为页面组件,代表一个完整的页面。被@Entry装饰的组件会被视为当前页面的默认入口组件,支持页面预览和组件树结构的根节点。

@State

标记一个类或对象的属性为状态信息,表示该属性会随着时间的推移而发生变化。当状态发生变化时,组件的UI会相应地更新。

@Prop

在子组件中定义需要从父组件接收的属性,实现父组件到子组件的数据单向传递。

@Link

达成父组件与子组件之间的数据双向传递,允许子组件修改并同步数据回父组件。

@Provide/@Consume

跨组件传值,通过提供方(@Provide)和消费方(@Consume)的标记来共享和更新数据。

@StorageLink/@StorageProp

作用于应用全局的UI状态存储,允许在应用的多个部分之间共享和更新状态。

@LocalStorageLink/@LocalStorageProp

针对页面级别的UI状态存储,方便页面间数据共享和更新。

@Builder

用于创建自定义构建函数,对重复的UI元素进行抽象,提高代码复用性。

@BuilderParam

引用自定义构建函数,为组件添加特定功能或参数。

@Styles

定义组件的样式集合,允许将多条样式设置提炼成一个方法,便于复用。

@Extend

在@Styles的基础上,用于扩展组件的样式或行为,可抽离公共的样式。

@Previe

允许组件在开发过程中进行预览,但注意它本身并不直接作为装饰器使用        ,而是通过与其他装饰器(如@Entry和@Component)结合来实现预览功能。                                         

装饰器

描述

@watch

@Watch装饰器来监听数据的变化,@Watch必须配合其他装饰器(比如@State,@Prop,@Link等)一起使用。
@Observed&@ObjectLink这两个装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步。@Observed装饰class,改变class的原型链,使其数据变更被UI页面管理;@ObjectLink用于装饰已被@Observed装饰的类的对象,实现数据双向绑定。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值