网站大量收购独家精品文档,联系QQ:2885784924

《HarmonyOS应用开发基础》 课件 实操 项目2-任务8 组件间的状态管理.pptx

《HarmonyOS应用开发基础》 课件 实操 项目2-任务8 组件间的状态管理.pptx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

任务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的状态变量双向传值,当这些装饰符装饰的状态变量被改变时,将会调用所在组件的build()方法进行UI刷新。任务小结

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档