swoole 网站开发,互联网软件有哪些,青岛网站制作设计,天津做网站的公司有哪家上文我们了解了@Local装饰器 ,讲明了Local装饰器不允许外部传入值对其进行初始化。详见: HarmonyOS-ArkUI V2装饰器@Local装饰器:组件内部状态-CSDN博客。
但总有场景是需要外部组件传值过来,然后本组件接收这个值这种场景的。而且很多情况下,一个状态变量的作用范围会是…上文我们了解了@Local装饰器 ,讲明了Local装饰器不允许外部传入值对其进行初始化。详见: HarmonyOS-ArkUI V2装饰器@Local装饰器:组件内部状态-CSDN博客。
但总有场景是需要外部组件传值过来,然后本组件接收这个值这种场景的。而且很多情况下,一个状态变量的作用范围会是会传递到子组件中,而不是像Local这样只能在自己所在的组件中发挥作用。对于这种场景我们用@Param装饰器可以搞定。 装饰器说明 @Param装饰器是一个单向传递的控件
首先我们先了解一下什么是所谓的单向传递。
理解状态变量在组件间的单向传递
如下如所示 装饰器特性说明 装饰器名 装饰器参数 能否本地修改 同步类型 被装饰变量的初始值 @Param - 不能,修改值需要配合@Event装饰器能力完成闭环 单向同步, 父组件改,父,子都能感知。 子组件改,子组件知道,父组件不知道 原则上本地必须初始化,但是如果您就是不进行初始化也行,则和@Require装饰器配合使用。要求外部必须传入进行初始化。 被@Param修饰的变量,能够在初始化自定义组件的时候从外部传入,此时如果外部数据源发生了变化,则数据源的修改会同步到@Param修饰的状态变量。@Param修饰的变量原则上要进行初始化,但是如果你就是不进行初始化,也行,加上@Require装饰器,让外部必须传来一个值!但是!您不能再对它进行赋值了,@Param不允许在组件内部直接修改变量本身。