🎯 V2: 浅入@Once:初始化同步一次

📌 见解

1️⃣ @Once必须搭配@Param使用❗❗❗

2️⃣ 与@Param搭配使用时,可以在本地修改@Param变量的值值

⚠️ 使用场景:

使用场景:变量仅初始化同步一次、本地修改@Param变量

🧩 拆解

@Entry
@ComponentV2
struct OnceCase {
  @Local name: string = "xiaoxiao"

  build() {
    Column() {
      Text(`name: ${this.name}`)
      Button("change name")
        .onClick(() => {
          this.name = "dada";
        })
      OnceCaseSon({ name: this.name })
    }
  }
}

@ComponentV2
struct OnceCaseSon {
  @Param @Once name: string = ""

  build() {
    Column() {
      Text(`onceParam: ${this.name}`)
      Button("change name")
        // @Once与@Param搭配使用时,可以在本地修改@Param变量的值。
        .onClick(() => {
          this.name = 'honhon'
        })
    }
  }
}

📝 @Once第一次同步初始化数据,之后不再同步数据场景使用

🌸🌼🌺

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐