#HarmonyOS:@State/@Prop/@Link/@Provide-@Consume/@Observed/@ObjectLink状态管理

v1版本

@State

装饰的变量拥用其所属组件的状态,可以作为其子组件单向和双向同步的数据源。当其数值改变时,会引起相关组件的渲染刷新。

@Prop

装饰的变量可以和父组件建立单项同步关系,@Prop装饰的变量是可变的,但修改不会同步回父组件。
@Prop装饰器不能在@Entry装饰的自定义组件中使用

@Link

装饰的变量可以和父组件建立双向同步关系,子组件中@Link装饰变量的修改会同步给父组件中建立双向绑定的数据源,父组件的更新也会同步@Link装饰的变量。
@Link装饰器不能在@Entry装饰的自定义组件中使用。

@Provide/@Consume

@Provide/@Consume装饰的变量用于跨组件层级(多层组件)同步状态变量,可以不需要通过参数命名机制传递,通过alias(别名)或者属性名绑定。

@Observed

背景 装饰器仅能观察到第一层的变化
装饰class,需要观察多层嵌套场景的class需要被@Observed装饰。单独使用@Observed没有任何作用,需要和@ObjectLink 、@Prop连用。
@ObjectLink和@Observed类装饰器用于在涉及嵌套对象或数组的场景中进行双向数据同步:

@ObjectLink

@ObjectLink装饰的变量接收@Observed装饰的class的实例,应用于观察多层嵌套场景,和父组件的数据源构建双向同步。

v2版本

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值