系列文章目录
1.HarmonyOS | 状态管理(一) | @State装饰器
2.HarmonyOS | 状态管理(二) | @Prop装饰器
前言
现在通过上面两篇的状态管理装饰器讲解,应该越来越清楚状态装饰器的作用了
上篇 HarmonyOS | 状态管理(二) | @Prop装饰器 讲解了父子单向同步,这篇文章讲解 @Link装饰器:父子双向同步
提示:以下是本篇文章正文内容,下面案例可供参考
一、@Link装饰器是什么?
子组件中被@Link装饰的变量与其父组件中对应的数据源建立双向数据绑定。
二、限制条件
@Link装饰器不能在@Entry装饰的自定义组件中使用。
二、使用场景
1.简单类型和类对象类型的@Link
class GreenButtonState {
width: number = 0;
constructor(width: number) {
this.width = width;
}
}
@Component
struct GreenButton {
@Link greenButtonState: GreenButtonState;
build(){
Button('Green Button')
.width(this.greenButtonState.width)
.height(40)
.backgroundColor('#64bb5c')
.fontColor('#FFFFFF,90%')
.onClick(() => {
if(this.greenButtonState.width < 700){
this.greenButtonState.width += 60;
}else{
this.greenButtonState = new GreenButtonState(200);