鸿蒙HarmonyOS4.0组件通信

276 阅读1分钟

@Prop 单向同步

注意:

  1. 子组件内 Prop无需初始化

允许装饰的变量类型

  1. @Prop只支持string、number、 boolean、enum类型

  2. 父组件对象类型,子组件是对象属性

  3. 不可以是数组、any

    父组件 @State message: string = 'Hello World' son({message:this.message})

    子组件 @Prop message: string

@Link 双向同步

注意:

  1.  子组件内 Link无需初始化
  2. 父组件给子组件传参的时候使用$

允许装饰的变量类型

  1. 父子类型一致: string、number、boolean、enum、object、class,以及他们的数组

  2. 数组中元素增、删、替换会引起刷新

  3. 嵌套类型以及数组中的对象属性无法触发视图更新

    父组件 @State message: string = 'Hello World' son({message:$message})

    子组件 @Link message: string

@Provide @Consume 跨组件传参

父组件
@Provide message: string = 'Hello World'
son()

子组件
@Consume message: string