HarmonyOS NEXT 學習筆記4--雙向繫結$$

o蹲蹲o發表於2024-07-18

1.程式碼:

@Entry
@Component
struct Page_checkbox {
  @State
  isChecked:boolean = true

  build() {
    Column() {
      Text(this.isChecked + '')
      Checkbox()
        // .shape(CheckBoxShape.ROUNDED_SQUARE)// 這裡有坑,編譯器會報錯
        .select($$this.isChecked)// 加上雙向繫結$$
    }
    .height('100%')
    .width('100%')
  }
}

2.效果:

HarmonyOS NEXT 學習筆記4--雙向繫結$$

3.不用$$,就用onChange寫法:

@Entry
@Component
struct Page_checkbox {
  @State
  isChecked:boolean = true

  build() {
    Column() {
      Text(this.isChecked + '')
      Checkbox()
        // .shape(CheckBoxShape.ROUNDED_SQUARE)// 這裡有坑,編譯器會報錯
        // .select($$this.isChecked)// 加上雙向繫結$$ 方式1
        .select(this.isChecked) // 方式2 用onchange
        .onChange((value)=>{
          this.isChecked = value
        })
    }
    .height('100%')
    .width('100%')
  }
}

3.1 效果:

HarmonyOS NEXT 學習筆記4--雙向繫結$$

4.說明onChange和$$關係:

  • $$ 就是為了替換onChange

5. 總結:

  • 雙向資料繫結 $$ = 1. 資料驅動檢視@state 2.檢視更新資料(事件)

6.注意:

  • interface的屬性,不能直接繫結。它這個雙向繫結只更新第一層。

相關文章