HarmonyOS-ArkUIV2装饰器-@Param:组件外部输入

上文我们了解了@Local装饰器 ,讲明了Local装饰器不允许外部传入值对其进行初始化。详见:

HarmonyOS-ArkUI V2装饰器@Local装饰器:组件内部状态-CSDN博客

但总有场景是需要外部组件传值过来,然后本组件接收这个值这种场景的。而且很多情况下,一个状态变量的作用范围会是会传递到子组件中,而不是像Local这样只能在自己所在的组件中发挥作用。对于这种场景我们用@Param装饰器可以搞定。

装饰器说明

@Param装饰器是一个单向传递的控件

首先我们先了解一下什么是所谓的单向传递。

理解状态变量在组件间的单向传递

如下如所示

装饰器特性说明

装饰器名

装饰器参数

能否本地修改

同步类型

被装饰变量的初始值

@Param

-

不能,修改值需要配合@Event装饰器能力完成闭环

单向同步,
父组件改,父,子都能感知。

子组件改,子组件知道,父组件不知道

原则上本地必须初始化,但是如果您就是不进行初始化也行,则和@Require装饰器配合使用。要求外部必须传入进行初始化。

  • 被@Param修饰的变量,能够在初始化自定义组件的时候从外部传入,此时如果外部数据源发生了变化,则数据源的修改会同步到@Param修饰的状态变量。
  • @Param修饰的变量原则上要进行初始化,但是如果你就是不进行初始化,也行,加上@Require装饰器,让外部必须传来一个值!但是!您不能再对它进行赋值了,@Param不允许在组件内部直接修改变量本身。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曹小满2579

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值