💡
原文中文,约9400字,阅读约需23分钟。
📝
内容提要
@Param装饰器增强了子组件接收外部参数的能力,支持父子组件数据同步和多种数据源。它允许本地初始化和单向同步,但不允许在子组件中修改。与V1版本相比,@Param简化了传值规则,适用于多种数据类型,提高了状态管理的灵活性和性能。
🎯
关键要点
- 使用@Param装饰器增强子组件接收外部参数的能力,支持父子组件数据同步。
- 从API version 12开始,在@ComponentV2装饰的自定义组件中支持@Param装饰器。
- 支持本地初始化,但不允许在组件内部直接修改变量本身。
- @Param支持多种数据源,包括普通变量、状态变量、常量、函数返回值等。
- @Param装饰的变量变化时,会刷新关联的组件。
- 与状态管理V1版本相比,@Param简化了传值规则,适用于多种数据类型。
- 被装饰变量的初始值允许本地初始化,若不在本地初始化,则需和@Require装饰器一起使用。
- 从父组件初始化@Param装饰的变量允许本地初始化,若无本地初始化则必须从外部传入初始化。
- 基本类型可以观察来自数据源同步的变化,但类对象的属性变化需依赖@ObservedV2和@Trace装饰器。
- 简单类型数组可以观察到数组整体或数组项的变化。
- 嵌套类或对象数组@Param无法观察深层对象属性的变化。
- 内置类型(Array、Date、Map、Set)可以观察整体赋值及相关接口调用带来的变化。
- @Param装饰器只能在@ComponentV2装饰器的自定义组件中使用。
- @Param装饰的变量在子组件中无法进行修改,但可修改对象类型变量的内部属性。
- @Param支持null、undefined以及联合类型,提供更灵活的状态管理机制。
➡️