美文网首页ArkTS/ArkUI实战
十、鸿蒙ArkTS/ArkUI实战-装饰器@Prop

十、鸿蒙ArkTS/ArkUI实战-装饰器@Prop

作者: ISwiftUI | 来源:发表于2023-11-20 07:48 被阅读0次
概述

@Prop与@State有相同的语义,但初始化方式不同。@Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但变量的更改不会通知给父组件,父组件变量的更改会同步到@prop装饰的变量,即@Prop属于单向数据绑定。

@Prop状态数据具有以下特征:
  • 支持多种类型数据:支持class、number、boolean、string强类型数据的值类型和引用

  • 类型,以及这些强类型构成的数组,即Array<class>、Array<string>、Array<boolean>、Array<number>。不支持any。

  • 私有:仅支持组件内访问;

  • 单个数据源:父组件中用于初始化子组件@Prop变量的必须是父组件定义的状态变量;

  • 单向通信:子组件对@Prop变量的更改将不会同步修改父组件中的@State变量,父组件中@State的变量修改将会同步给子组件中的@Prop变量;

  • 创建自定义组件时将按值传递方式给@Prop变量进行初始化:在创建组件的新实例时,必须初始化所有@Prop变量,不支持在组件内部进行初始化。

相关文章

网友评论

    本文标题:十、鸿蒙ArkTS/ArkUI实战-装饰器@Prop

    本文链接:https://www.haomeiwen.com/subject/cbdmwdtx.html