欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 初始值变量类型

初始值变量类型

2025/2/24 12:27:44 来源:https://blog.csdn.net/2402_83048509/article/details/144971701  浏览:    关键词:初始值变量类型
状态名同步位置初始值变量类型不支持的UL刷新注意事项
State父组件必填Object、classstring、number、boolean、enum类型,以及这些类型的数组。支持Date类型。对象的对象数组属性更新数组对象的属性更新@ State装饰的变量必须初始化,否则编译期会报错。@State不支持装饰Function类型的变量,框架会抛出运行错误。
Prop单项子组件不必填Object、class、string、number、boolean、enum类型,以及这些类型的数组。不支持any,支持undefined和null。支持Date类型。Prop变量允许在本地修改,但修改后的变化不会同步回父组件。· @Prop装饰变量时会进行深拷贝,在拷贝的过程中除了基本类型、Map、Set、Date、Array外,都会丢失类型。例如PixelMap等通过NAPI提供的复杂类型,由于有部分实现在Native侧,因此无法在ArkTS侧通过深拷贝获得完整的数据。Prop需要被初始化,如果没有进行本地初始化的,则必须通过父组件进行初始化。如果进行了本地初始化,那么是可以不通过父组件进行初始化的。· @Prop装饰器不能在@Entry装饰的自定义组件中使用。·
Link双向子组件必选Object、class、string、number、boolean、enum类型,以及这些类型的数组。支持Date类型。即父组件中状态变量更新,引起相关子组件的@Link的更新。1. @Link装饰器不能在@Entry装饰的自定义组件中使用。@Link装饰的变量禁止本地初始化,否则编译期会报错。2. 在子组件中使用@Link装饰状态变量需要保证该变量与数据源类型完全相同,且该数据源需为被诸如@State等装饰器装饰的状态变量。3. 当@State变量放在build函数后定义,用来初始化@Link变量时,会被识别为常量,而@Link变量不能被常量初始化,所以会造成编译报错。
Provide双向子组件必须Object、class、string、number、boolean、enum类型,以及这些类型的数组。支持Date类型。点击父组件Parent中的Button改变count的属性或者类型,Child中也会对应刷新。1. @Provider/@Consumer的参数key必须为string类型,否则编译期会报错。
*Consume*双向子组件Object、class、string、number、boolean、enum类型,以及这些类型的数组。支持Date类型。支持ArkUI框架定义的联合类型Length、ResourceStr、ResourceColor类型。必须指定类型。点击父组件Parent中的Button改变count的属性或者类型,Child中也会对应刷新。1. @Consume装饰的变量不能本地初始化,也不能在构造参数中传入初始化,否则编译期会报错。@Consume仅能通过key来匹配对应的@Provide变量进行初始化。在此场景下,CustomWidget执行this.builder()创建子组件CustomWidgetChild时,this指向的是HomePage。因此找不到CustomWidget的@Provide变量,所以下面示例会报找不到@Provide错误,和@BuilderParam连用的时候要谨慎this的指向。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词