- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第7章生命周期和状态管理《鸿蒙HarmonyOS应用开发基础》
学习目标/Target掌握生命周期方法的使用方法,能够实现在特定生命周期事件下执行特定的代码了解状态管理的概念,能够说明什么是状态管理掌握@Prop和@Link装饰器的使用方法,能够实现子组件状态与父组件状态的单向同步和单向同步掌握@Provide和@Consume装饰器的使用方法,能够实现跨级组件状态的双向同步
学习目标/Target掌握@Observed和@ObjectLink装饰器的使用方法,能够实现嵌套对象状态的同步掌握@Require装饰器的使用方法,能够约束指定变量必须被传值掌握@Track装饰器的使用方法,能够规定对象中只有特定属性可以在UI描述中使用掌握LocalStorage和AppStorage的使用方法,能够实现UIAbility内和跨UIAbility的状态共享
学习目标/Target掌握PersistentStorage的使用方法,能够实现持久化存储数据掌握状态监听器的使用方法,能够在状态变量的值发生变化时执行特定的操作掌握UIAbilityContext实例的使用方法,能够获取UIAbility的相关配置信息和对UIAbility进行操作
章节概述/Summary生命周期和状态管理是在鸿蒙应用开发中经常用到的技术。通过生命周期可以实现在特定生命周期事件下执行特定的代码;通过状态管理可以实现状态共享,也就是将状态在组件或应用内传递,例如,在开发应用的交互功能时,应用的状态会因用户的操作而发生变化,状态会在多个组件间传递,当状态变化时需要重新渲染UI。本章将对生命周期和状态管理进行讲解。
目录/Contents7.17.2生命周期方法状态管理概述7.37.4组件状态共享应用状态共享
目录/Contents7.57.6状态监听器UIAbilityContext实例7.7阶段案例——评论列表页面
生命周期方法7.1
7.1.1自定义组件的生命周期方法先定一个小目标!掌握自定义组件的生命周期方法的使用方法,能够实现在特定生命周期事件下执行特定的代码
7.1.1自定义组件的生命周期方法自定义组件包括入口组件和非入口组件,入口组件的生命周期方法如下表所示。方法说明aboutToAppear()在创建自定义组件时,在build()方法执行前执行。该方法允许更改状态变量,更改将在后续执行的build()方法中生效onDidBuild()在build()方法执行完成之后执行。不建议在该方法中更改状态变量、调用animateTo()等,这可能会导致不稳定的UI表现aboutToDisappear()在自定义组件销毁之前执行。该方法不允许更改状态变量,若修改可能会导致应用程序行为不稳定onPageShow()页面每次显示时执行一次,包括页面切换、应用进入前台等场景。该方法在build()方法之后触发onPageHide()页面每次隐藏时执行一次,包括页面跳转、应用进入后台等场景onBackPress()当用户点击“返回”按钮时触发。当返回值为true时表示页面自己处理返回逻辑,不进行页面路由;当返回值为false时表示使用默认的路由返回逻辑;不设置返回值则按照返回值为false处理
7.1.1自定义组件的生命周期方法对于非入口组件,其生命周期方法只有aboutToAppear()方法、onDidBuild()方法和aboutToDisappear()方法。在实际开发中,页面中的数据通常需要从服务器中获取。对于只需要获取一次数据的场景,通常使用aboutToAppear()方法。但是,如果需要在页面每次显示时更新一次数据,则应该使用onPageShow()方法。
7.1.1自定义组件的生命周期方法入口组件的生命周期方法的流程如下图所示。
7.1.1自定义组件的生命周期方法下面通过代码演示自定义组件的生命周期方法的使用方法。创建LifePage1.ets和LifePage2.ets两个页面,在这两个页面中编写生命周期方法。在LifePage1.ets页面中,实现点击“跳转下一页”按钮后跳转到LifePage2.ets页面。在LifePage2.ets页面中,实现点击“返回”按钮时弹出一个内容为“确认要返回吗?”的对话框,对话框中有“取消”和“确认”按钮。如果用户点击“取消”按钮,将停留在当前页面;如果用户点击“确认”按钮,将返回上一页。
7.1.2UIAbility的生命周期方法先定一个小目标!掌握UIAbility的生命周期方法的
文档评论(0)