《HarmonyOS应用开发基础》 课件 实操 项目2-任务8 组件间的状态管理_第1页
《HarmonyOS应用开发基础》 课件 实操 项目2-任务8 组件间的状态管理_第2页
《HarmonyOS应用开发基础》 课件 实操 项目2-任务8 组件间的状态管理_第3页
《HarmonyOS应用开发基础》 课件 实操 项目2-任务8 组件间的状态管理_第4页
《HarmonyOS应用开发基础》 课件 实操 项目2-任务8 组件间的状态管理_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

任务8组件间的状态管理项目2走进ArkTS声明式开发任务8组件间的状态管理本任务主要讲解组件级别装饰器的使用,并在父子组件间实现单向或双向传递数据,跨子孙组件间实现双向数据传递。任务描述任务效果图预览任务实施0102030504创建场景设置子组件父组件向子组件的@State变量传值子组件用@Prop接收父组件的单向传值跨子孙组件间双向传值子组件用@Link实现父子间双向传值01创建场景设置子组件

在ets目录中新建目录view,在view目录中新建ArkTSFile文件,名为SceneInfo;在其中定义子组件SceneInfo,在子组件内定义用@State装饰的变量scene,用户选择不同的场景时,对应的场景的背景和字体的颜色发生变化;定义子组件时用exportdefault进行导出。02父组件向子组件的@State变量传值在Index.ets中导入子组件SceneInfo,在build()中给Text组件添加事件来实现父组件的场景选择,调用子组件SceneInfo时,使用this.scene_parent传递参数给子组件。03子组件用@Prop接收父组件的单向传值修改子组件SceneInfo,用@Prop装饰变量scene,@Prop装饰的变量在子组件内不能自己初始化;@Prop装饰的变量必须使用其父组件提供的@State变量通过参数进行初始化,修改父组件中调用子组件的位置,用({scene:this.scene_parent})给子组件传值。04子组件用@Link实现父子间双向传值@Link装饰的变量可以和父组件的@State变量建立双向的数据绑定,@Link装饰的变量必须使用其父组件提供的@State变量进行初始化,并且使用$符号初始化,允许组件内部修改@Link变量值且更改会通知给父组件。05跨子孙组件间双向传值修改SceneInfo子组件中的状态变量为@Consume(“scene_val”),修改父组件Index的状态变量为@Provide(“scene_val”),在Index组件中调用子组件Provider_sub,实现Index组件通过Provider_sub子组件向SceneInfo孙组件传值。任务8组件间的状态管理本任务主要讲解了组件级别的状态变量装饰器的使用,进行了父子/子孙组件间的单向和双向传值,其中@State用在组件内、@Prop用于父向子单向传值、@Link用于父子间双向传值、@Provide用于跨子孙组件向@Consume

温馨提示

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

评论

0/150

提交评论