项目2-任务6-1 状态管理_第1页
项目2-任务6-1 状态管理_第2页
项目2-任务6-1 状态管理_第3页
项目2-任务6-1 状态管理_第4页
项目2-任务6-1 状态管理_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

状态管理目录CONTENTS状态管理1@State装饰器2@Prop装饰器3@Link装饰器4@Consume和@Provide装饰器501状态管理知识储备状态管理ArkTS提供了多维度的状态管理机制,和UI相关联的数据,不仅可以在组件内使用,还可以在不同组件层级间传递。02@State装饰器知识储备@State装饰器@State装饰的变量是组件内部的状态数据,当这些状态数据被修改时,将会调用所在组件的build()方法刷新UI。@State装饰的变量需要本地初始化,在父组件中调用子组件时的传参方法:this.变量名;支持多种数据类型:允许class、number、boolean、string,不允许object和any。说明示例//父组件中用privateprivateval_parent:string='你好'//子组件中用@State@Stateval:string='鸿蒙'//必须本地初始化//在父组件中调用子组件的语法子组件的名字({val:this.val_parent})代码演示03@Prop装饰器知识储备@Prop装饰器@Prop与@State有相同的语义,但初始化方式不同,仅支持number、string、boolean简单类型。@Prop装饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Prop变量,但更改不会通知给父组件,即@Prop属于单向数据绑定。说明示例//父组件中用@State@Stateval_parent:string='你好'//子组件中用@Prop@Propval:string//不允许本地初始化//在父组件中调用子组件的语法子组件的名字({val:this.val_parent})代码演示04@Link装饰器知识储备@Link装饰器@Link与@State有相同的语义,但初始化方式不同,@Link变量的类型与@State变量的类型相同,即class、number、string、boolean或这些类型的数组;@Link装饰的变量可以和父组件的@State变量建立双向的数据绑定;@Link修饰的变量必须使用其父组件提供的@State变量进行初始化,允许组件内部修改@Link变量值且更改会通知给父组件。说明示例//父组件中用@State@Stateval_parent:string='你好'//子组件中用@Link@Linkval:string//不允许本地初始化//在父组件中调用子组件的语法,可以用$变量名,也可以用this.变量名子组件的名字({val:$val_parent})子组件的名字({val:this.val_parent})代码演示05@Consume和@Provide装饰器知识储备@Consume和@Provide装饰器@Provide作为数据的提供方,可以更新其子孙节点的数据,并触发页面渲染。@Consume在感知到@Provide数据的更新后,会触发当前自定义组件的重新渲染。使用时@Provide必须设置初始值,@Consume不可设置默认初始值,并且@Provide和@Consume后要使用(),()中要使用自定义的相同的字符串来标记@Provide和@Consume间传递的数据。说明示例//父组件中用@Provide@Provide("nowVal")val_parent:string='XXX'//子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论