当前位置: 首页 > article >正文

初始值变量类型

状态名同步位置初始值变量类型不支持的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的指向。

http://www.kler.cn/a/470595.html

相关文章:

  • Python编程实例-机器学习中的Hinge Loss编程实现
  • 图数据库 | 17、高可用分布式设计(上)
  • Objective-C 是一种面向对象的编程语言
  • 使用 Optimum Habana 在 Intel Gaudi 上加速模型训练与推理
  • 服务器数据恢复—离线盘数超过热备盘数导致raidz阵列崩溃的数据恢复
  • 如何使用 Ansys OptiSlang 同时运行多个参数化设计研究
  • Maven 中的依赖管理机制
  • HTML - <a>
  • docker启动报错:Job for docker.service failed because the control process exited with error code.
  • 安卓NDK视觉开发——手机拍照文档边缘检测实现方法与库封装
  • 基于ffmpeg和sdl2的简单视频播放器制作
  • Oracle Database 23ai 新特性: UPDATE 和 DELETE 语句的直接联接
  • 自动采集商品信息、处理数据并自动上架到
  • colnames看似简单,却能优化数据处理流程
  • c# 2025/1/3 周五
  • 404 Not Found:请求的页面不存在或已被删除。
  • QT中引入OpenCV库总结(qmake方式和cmake方式)
  • 用JAVA实现人工智能:采用框架Spring AI Java
  • 在Spring Boot中集成H2数据库:完整指南
  • HTML5 缩放动画(Zoom In/Out)详解
  • docker 删除容器和镜像
  • buildroot 编译 x264 及 ffmpeg
  • No Python at ‘C:\Users\MI\AppData\Local\Programs\Python\Python39\python.exe‘
  • 微服务中熔断和降级的区别,具体使用场景有哪些?
  • 倾斜摄影相机在不动产确权登记和权籍调查中的应用
  • 51单片机(一) keil4工程与小灯实验