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

上海金融网站制作网站制作公司好西安网站建设招标

上海金融网站制作网站制作公司好,西安网站建设招标,团购网站发展,wordpress教育网校平时在开发的过程中#xff0c;我们会在应用中共享数据#xff0c;在不同的页面间共享信息。虽然常用的共享信息#xff0c;也可以通过不同页面中组件间信息共享的方式#xff0c;但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景#xff0c;ArkT…  平时在开发的过程中我们会在应用中共享数据在不同的页面间共享信息。虽然常用的共享信息也可以通过不同页面中组件间信息共享的方式但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景ArkTS提供了以下几种应用状态管理的能力 LocalStorage使用范围在同一页面页面与卡片和页面与UIAbility内部负责UI状态存储。AppStorage运行时存储保存在内存中应用范围全局共享提供统一的存储供所有页面访问。PersistentStorage持久化存储保存在硬盘上在应用退出或重启后数据依旧保留。 下面通过简单的程序示例熟悉一下这三种用法。其中示例程序中包含了以下主要文件 一、LocalStorage 页面级的UI状态存储同一个页面共享同一个LocalStorage不同的页面都可以绑定对应的LocalStorage。最常用的就是更新服务卡片和跨页面的信息传递。 场景一更新服务卡片 服务卡片中被Entry装饰的Component可以被分配一个LocalStorage实例在组件内部通过LocalStorageProp装饰器定义本地变量并绑定到对应组件上。更新卡片时先定义一个包含了和LocalStorageProp属性同名的参数并放到formBindingData中然后通过formProvider.updateForm函数就可以更新服务卡片了。 我们要在EntryFormAbility.ets中通过传递LocalStorage改变服务卡片中的默认Hello的文本标签为当前时间。 实践步骤前请熟悉开发文档开发知识更新库docs.qq.com/doc/DUmN4VVhBd3NxdExK 1.修改服务卡片布局文件文件开头添加 let storage new LocalStorage(); 并为Entry增加参数storage。 例如WidgetCard.ets默认 Entry Component struct WidgetCard { ... 改之后 let storage new LocalStorage(); Entry(storage) Component struct WidgetCard { ... 2.在EntryFormAbility.ets中用装饰器LocalStorageProp定义本地变量装饰器的参数必须要和formBindingData中的属性名称相同。 例如在接收方服务卡片中定义如下 LocalStorageProp(localprop) localValue: string Hello; 卡片标签默认显示了Hello。 在发送方EntryFormAbility.ts文件的onFormEvent函数里 onFormEvent(formId, message) {let date new Date();let str date.getHours().toString().padStart(2, 0) : date.getMinutes().toString().padStart(2, 0) : date.getSeconds().toString().padStart(2, 0)let formData {localprop: Time: str,};let formInfo formBindingData.createFormBindingData(formData)formProvider.updateForm(formId, formInfo).then((data) {console.info(FormAbility updateForm success. JSON.stringify(data));}).catch((error) {console.error(FormAbility updateForm failed: JSON.stringify(error));}) } formData对象里包含了名称为localprop的键值它通过formBindingData由formProvider传递给服务卡片服务卡片接收到该对象后就自动把该对象赋值给LocalStorage相应的LocalStorageProp也自动跟着刷新。 这个动作是通过点击卡片上的update按钮触发了postCardAction事件从而调用了onFormEvent函数执行结果如下 场景二跨页面的信息传递 在页面初次加载时可以在EntryAbility.ts中传递一个LocalStorage对象给要打开的页面。 我们打算在index.ets页面加载的时候在EntryAbility中传递一个包含abilitycount值为1的Storage页面加载后界面显示该值。 实践步骤 1.在EntryAbility.ts中定义一个LocalStorage类型的变量里面包含abilitycount属性。 export default class EntryAbility extends UIAbility {storage: LocalStorage new LocalStorage({abilitycount: 1}); 在onWindowStageCreate函数中将默认的 windowStage.loadContent(pages/Index, (err, data) { 改为传递参数的方式如下 windowStage.loadContent(pages/Index, this.storage); 2.在页面端Index.ets中文件开头添加代码来获取共享的LocalStorage。 let storage LocalStorage.GetShared() 在结构体内部通过装饰器LocalStorageProp加同样属性名称作为参数定义一个变量。 LocalStorageProp(abilitycount) abilityCount: number 0; 这样名为abilitycount的值就通过LocalStorage传递到页面了本地默认的值0变为了传递过来的值1。 下图中LocalStorage的值就是页面打开时显示的传递过来的值。 二、AppStorage 全局的UI状态存储在运行时阶段可以在不同的页面间共享信息。 我们通过在Index.ets页面创建一个变量放到AppStorage中然后分别在First.ets页面和Second.ets页面访问和修改。 实践步骤 1.首先在Index.ets中通过AppStorage定义一个属性。 AppStorage.SetOrCreate(appcount, 10); 然后在组件结构体中使用StorageProp装饰器定义一个变量参数为之前定义的appcount属性。 Entry() Component struct Index {StorageProp(appcount) appValue: number 0; 2.在First.ets页面中通过StorageProp定义一个appValue变量关联到appcount属性上。 struct First {StorageProp(appcount) appValue: number 0; 在本地修改时把用户输入的值写入AppStorage使用如下语句 AppStorage.Set(appcount, this.textApp); Second.ets页面与First.ets页面功能完全相同主要显示AppStorage在不同页面显示和修改的效果。 如下图主页面、第一个页面和第二个页面初始状态下读取到的AppStorage中的同一个属性的值都是10。 在第一个页面First.ets中把AppStorage中的属性值改为11我们发现在主页面Index.ets和Second.ets中对应的属性值都发生了变化。 同样在第二个页面Second.ets中把AppStorage中的属性值改为12我们发现在Index.ets和First.ets中对应的属性值也都变为了改后的值。 如上测试我们发现的确可以通过AppStorage在不同页面间共享数据。 三、PersistentStorage 持久化存储UI状态。保存在PersistentStorage中的数据即使应用退出了对应的值依然会保留不是在内存中而是存储在固定存储介质上的。 我们通过在Index.ets页面创建一个属性放到PersistentStorage中然后分别在First.ets页面和Second.ets页面进行修改然后再重启应用观察结果。 实践步骤 1.首先在Index.ets中在PersistentStorage里定义一个属性。 PersistentStorage.PersistProp(persistentcount, 100); 然后在组件结构体中通过装饰器StorageProp定义一个属性为persistentcount的变量。 Entry() Component struct Index {StorageProp(persistentcount) persistentValue: number 0; 2.在First.ets页面中我们通过装饰器StorageProp定义一个变量绑定persistentcount属性。 Entry Component struct First {StorageProp(persistentcount) persistentValue: number 0; 通过输入框输入新值改变原来存储在PersistentStorage的内容。 AppStorage.Set(persistentcount, this.textPersistent); 演示效果如下图Index.ets页面在初始时AppStorage和PersistentStorage中的对应属性值分别是10和100在First.ets页面中我们分别改为11和111。 关闭应用然后重新打开如下图所示AppStorage中的属性值恢复为了10PersistentStorage中的属性值依旧是111是改后的值。这证明了PersistentStorage有持续化存储的作用。 四、总结 通过这次实践熟悉了不同的状态变量在应用中的不同应用范围选用合适的状态变量会让应用开发简单快捷本地页面内部使用LocalStorage保存数据应用页面间通过AppStorage传递信息PersistentStorage可以持久化存储数据信息。 最后呢很多开发朋友不知道需要学习那些鸿蒙技术鸿蒙开发岗位需要掌握那些核心技术点为此鸿蒙的开发学习必须要系统性的进行。 而网上有关鸿蒙的开发资料非常的少假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料少走很多弯路节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等鸿蒙Harmony NEXT技术知识点 如果你是一名Android、Java、前端等等开发人员想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。 高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》 针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说我们直接看详细资料鸿蒙OpenHarmony 学习手册共计1236页与鸿蒙OpenHarmony 开发入门教学视频帮助大家在技术的道路上更进一步。 《鸿蒙 (OpenHarmony)开发学习视频》 《鸿蒙生态应用开发V2.0白皮书》 《鸿蒙 (OpenHarmony)开发基础到实战手册》 获取这份鸿蒙星河版学习资料请点击→《鸿蒙NEXT星河版开发学习文档》 OpenHarmony北向、南向开发环境搭建 《鸿蒙开发基础》 ArkTS语言 安装DevEco Studio 运用你的第一个ArkTS应用 ArkUI声明式UI开发 .…… 《鸿蒙开发进阶》 Stage模型入门 网络管理 数据管理 电话服务 分布式应用开发 通知与窗口管理 多媒体技术 安全技能 任务管理 WebGL 国际化开发 应用测试 DFX面向未来设计 鸿蒙系统移植和裁剪定制 …… 《鸿蒙开发实战》 ArkTS实践 UIAbility应用 网络案例 …… 获取这份鸿蒙星河版学习资料请点击→《鸿蒙NEXT星河版开发学习文档》 总结 鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程从而开设鸿蒙课程企业纷纷跟进启动了鸿蒙研发。 并且鸿蒙是完全具备无与伦比的机遇和潜力的预计到年底将有 5,000 款的应用完成原生鸿蒙开发未来将会支持 50 万款的应用。那么这么多的应用需要开发也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长学习鸿蒙势在必行
http://www.dnsts.com.cn/news/85221.html

相关文章:

  • 北京网站优化推广分析零基础做地方门户网站
  • 外贸网站推广方式dw建设网站的代码模板
  • 公司网站设计与实现的项目建议书网站建设员工分工
  • 国外搜索引擎网站辽宁建设工程信息网新平台
  • 广州网站网站建设页面设计尺寸
  • 企业网站建设经验分享忒低网站长怎么做
  • 川畅科技搜搜 网站设计那个视频网站好
  • 广州seo网站多少钱百度软件下载安装
  • 自动化系统网站建设首选公司做设计用的素材下载网站
  • 制作查询网站有没有建筑学做区位分析的网站
  • 网站改域名如何做百度优化最强大的wordpress
  • 做网站被捉定西市建设局网站
  • 福安市网站建设寻找哈尔滨网站建设
  • 山东省住房和城乡建设厅注册中心网站网页开发的基本流程是什么
  • 家装公司建设网站淄博网站建设公司三农
  • ireal 网站建设seo引擎优化是什
  • 兰州专业网站建设报价小程序怎么进入公众号
  • 长春网络营销网站网站设计规划报告
  • 宣讲网站建设网站 被黑
  • 鹤山做网站公司中国国音电商平台官网
  • 杭州智能模板建站河南做网站公司排名
  • 网站虚拟主机有什么用网页设计基础实训计划
  • 外贸营销型网站建设多少钱微信公众号登录平台官网
  • 网站关停怎么做河南网站推广优化公司哪家好
  • 超值高端网站设计wordpress建站 产品详情页
  • 哪里有网站制作建设wordpress美化底部
  • 网站备案太麻烦自己做公司网站成本
  • 鑫牛元网站建设什么是小手机型网站
  • 网站设置gif禁用本标准在住房城乡建设部门户网站
  • 交通信用网站建设网站建设基本流程ppt