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

网站主机查询有什么网站交互做的很好 知乎

网站主机查询,有什么网站交互做的很好 知乎,网站建设好后的手续交接,免费云电脑(可玩大型游戏)平时在开发的过程中#xff0c;我们会在应用中共享数据#xff0c;在不同的页面间共享信息。虽然常用的共享信息#xff0c;也可以通过不同页面中组件间信息共享的方式#xff0c;但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景#xff0c;ArkTS…平时在开发的过程中我们会在应用中共享数据在不同的页面间共享信息。虽然常用的共享信息也可以通过不同页面中组件间信息共享的方式但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景ArkTS 提供了以下几种应用状态管理的能力 ○ LocalStorage使用范围在同一页面页面与卡片和页面与 UIAbility 内部负责 UI 状态存储。 ○ AppStorage运行时存储保存在内存中应用范围全局共享提供统一的存储供所有页面访问。 ○ PersistentStorage持久化存储保存在硬盘上在应用退出或重启后数据依旧保留。 下面通过简单的程序示例熟悉一下这三种用法。其中示例程序中包含了以下主要文件 一、LocalStorage 页面级的 UI 状态存储同一个页面共享同一个 LocalStorage不同的页面都可以绑定对应的 LocalStorage。最常用的就是更新服务卡片和跨页面的信息传递。 场景一更新服务卡片 服务卡片中被 Entry 装饰的 Component可以被分配一个 LocalStorage 实例在组件内部通过 LocalStorageProp 装饰器定义本地变量并绑定到对应组件上。更新卡片时先定义一个包含了和 LocalStorageProp 属性同名的参数并放到 formBindingData 中然后通过 formProvider.updateForm 函数就可以更新服务卡片了。 我们要在 EntryFormAbility.ets 中通过传递 LocalStorage 改变服务卡片中的默认 Hello 的文本标签为当前时间。 实践步骤 1.修改服务卡片布局文件文件开头添加: let storage  new LocalStorage();并为 Entry 增加参数 storage。 例如WidgetCard.ets默认 EntryComponentstruct WidgetCard {...改之后 let storage  new LocalStorage();Entry(storage)Componentstruct 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()Componentstruct 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()Componentstruct Index {  StorageProp(persistentcount) persistentValue: number  0; 2.在 First.ets 页面中我们通过装饰器 StorageProp 定义一个变量绑定 persistentcount 属性。 EntryComponentstruct 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 可以持久化存储数据信息。
http://www.dnsts.com.cn/news/119351.html

相关文章:

  • 沈阳市建设公司网站做流量的网站
  • 深圳坂田网站建设百度关键词搜索技巧
  • 研磨材料 东莞网站建设志鸿优化网下载
  • 医院门户网站建设安徽建筑大学学工在线网站
  • 山东已经宣布封城的城市2022年廊坊关键词优化
  • 闲鱼怎么做钓鱼网站国外网站源代码
  • 关于戒烟网站怎么做南通市 网站设计
  • 做网站网站会怎么样上海网站推广价格
  • 静态网站设计方案wordpress python
  • 企业网站开发需要多钱汇云网站建设
  • 网站快速推广职场seo是什么意思
  • com网站是用什么做的爬虫 做资讯网站
  • 阜阳中国建设银行官网站请别人做网站
  • 金堂做网站的公司做旅游网站犯法吗
  • 山东建设执业资格注册中心网站官网嵌入式软件开发工程师是做什么的
  • 江西城市建设管理协会网站网站优化推广
  • 重庆网站建设公司海口实训课做一个网站怎么做
  • 网站右下角广告代码网站建设沟通准备
  • 可以做c oj的网站衡水做wap网站
  • 网站建设咨询服务合同施工企业半年工作总结
  • 网站程序是什么意思网站建设维护价格
  • 做网站收会员费成都小程序定制开发公司
  • 职场社交网站怎么做cms 网站群
  • 怎么制作外贸网站wordpress 标签作用
  • 上海专业网站建站公司app编程入门教程
  • 潮州市住房和城乡建设局网站装修步骤和流程
  • 网站开发维护的好处如何自学制作网站
  • 花都区水务建设管理中心官方网站业务外包的典型案例
  • 流程网站十个免费域名
  • 泰安网站建设课程报告seo搜索引擎优化推荐