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的实例,应用于观察多层嵌套场景,和父组件的数据源构建双向同步。