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

网站建设合同 英文范文做网站小图标大全

网站建设合同 英文范文,做网站小图标大全,青岛谁家做网站,python可以做复杂网站本文转载自《#2023 盲盒码 # OpenHarmony 应用 ArkUI 状态管理开发范例》#xff0c;作者#xff1a;zhushangyuan_ 本文根据橘子购物应用#xff0c;实现 ArkUI 中的状态管理。 在声明式 UI 编程框架中#xff0c;UI 是程序状态的运行结果#xff0c;用户构建了一个 UI …本文转载自《#2023 盲盒码 # OpenHarmony 应用 ArkUI 状态管理开发范例》作者zhushangyuan_ 本文根据橘子购物应用实现 ArkUI 中的状态管理。 在声明式 UI 编程框架中UI 是程序状态的运行结果用户构建了一个 UI 模型其中应用的运行时的状态是参数。当参数改变时UI 作为返回结果也将进行对应的改变。这些运行时的状态变化所带来的 UI 的重新渲染在 ArkUI 中统称为状态管理机制。 自定义组件拥有变量变量必须被装饰器装饰才可以成为状态变量状态变量的改变会引起 UI 的渲染刷新。如果不使用状态变量UI 只能在初始化时渲染后续将不会再刷新。 下图展示了 State 和 ViewUI之间的关系。 管理组件拥有的状态 State 装饰器组件内状态 State 装饰的变量或称为状态变量一旦变量拥有了状态属性就和自定义组件的渲染绑定起来。当状态改变时UI 会发生对应的渲染改变。 在状态变量相关装饰器中State 是最基础的使变量拥有状态属性的装饰器它也是大部分状态变量的数据源。 link 装饰器父子双向同步 子组件中被 Link 装饰的变量与其父组件中对应的数据源建立双向数据绑定。 Link 装饰的变量与其父组件中的数据源共享相同的值。 Componentexport struct DetailPage { State currentLocation: string } 在父组件 DetailPage 中声明当前定位 currentLocation 变量 Panel(this.isPanel) {    Location({ isPanel: $isPanel, currentLocation: $currentLocation })} 将 currentLocation 变量传给子组件 Location Componentexport struct Location {  Link currentLocation: string} 子组件用 Link 装饰的 currentLocation 接收。 Builder cityList(city: any) {    if (this.currentLocation  city.name) {      List() {        ForEach(city.city, twoCity  {          ListItem() {            Column() {              Text(${twoCity})                .width(100%)                .height(30)                .fontSize(14)                .onClick(()  {                  this.currentLocation  city.name  /  twoCity                })            }          }        })      }      .width(100%)      .divider({ strokeWidth: 2, color: $r(app.color.divider), startMargin: 0, endMargin: 20 })    }  } 子组件中的 currentLocation 变量改变会同步父组件中的 currentLocation。 管理应用拥有的状态 AppStorage 是应用全局的 UI 状态存储是和应用的进程绑定的由 UI 框架在应用程序启动时创建为应用程序 UI 状态属性提供中央存储。 和 LocalStorage 不同的是LocalStorage 是页面级的通常应用于页面内的数据共享。而对于 AppStorage是应用级的全局状态共享。AppStorage 使用场景和相关的装饰器StorageProp 和 StorageLink StorageProp StorageProp(key)是和 AppStorage 中 key 对应的属性建立单向数据同步我们允许本地改变的发生但是对于 StorageProp本地的修改永远不会同步回 AppStorage 中相反如果 AppStorage 给定 key 的属性发生改变改变会被同步给 StorageProp并覆盖掉本地的修改。 EntryComponentstruct HomePage { State curBp: string  md // curBp指当前窗口断点sm代表小屏md代表中屏lg代表大屏} 在Home.ets页面中用 State 声明当前窗口类型curBp 变量并赋初值为 md代表中屏。 isBreakpointSM  (mediaQueryResult)  { if (mediaQueryResult.matches) {      this.curBp  sm      AppStorage.SetOrCreate(curBp, this.curBp) } } isBreakpointMD  (mediaQueryResult)  { if (mediaQueryResult.matches) {      this.curBp  md      AppStorage.SetOrCreate(curBp, this.curBp) } } isBreakpointLG  (mediaQueryResult)  { if (mediaQueryResult.matches) {      this.curBp  lg      AppStorage.SetOrCreate(curBp, this.curBp) } } 根据屏幕尺寸将 curBp 设置为相应的值并用 SetOrCreate()方法保存在 AppStorage 中。 在子组件 NavigationHomePage 中直接使用 curBp 变量 EntryComponentexport struct NavigationHomePage { StorageProp(curBp) curBp: string  sm}curBp 是根据窗口的尺寸判断的是不能改变的因此使用 StorageProp(‘curBp’)与 AppStorage(‘curBp’)建立单向数据同步。 StorageLink StorageLink(key)是和 AppStorage 中 key 对应的属性建立双向数据同步 1.  本地修改发生该修改会被同步回 AppStorage 中 2.  AppStorage 中的修改发生后该修改会被同步到所有绑定 AppStorage 对应 key 的属性上包括单向StorageProp 和通过 Prop 创建的单向绑定变量、双向StorageLink 和通过 Link 创建的双向绑定变量变量和其他实例比如 PersistentStorage。 EntryComponentstruct HomePage { StorageLink(shoppingCartGoodsList) shoppingCartGoodsList: { data: { id: number } }[]  []} 在Home.ets页面中用 StorageLink 装饰器定义 shoppingCartGoodsList用于获取全局的购物车商品列表。 this.emitterClass.setShoppingCartGoodsList((eventData){    this.shoppingCartGoodsList.push(eventData.data.id)    AppStorage.SetOrCreate(shoppingCartGoodsList, this.shoppingCartGoodsList)}) 使用 AppStorage.SetOrCreate(‘shoppingCartGoodsList’, this.shoppingCartGoodsList)将购物车商品列表保存在 AppStorage 中。 因为购物车中的商品会联动的变化比如在商品的详情页将商品添加至购物车在首页也需要更新购物车信息因此购物车商品列表采用 StorageLink 装饰器装饰与 AppStorage(‘shoppingCartGoodsList’)建立双向同步。 运行测试效果 执行以下命令可以下载橘子购物应用工程: git initgit config core.sparsecheckout trueecho code/Solutions/Shopping/OrangeShopping/  .git/info/sparse-checkoutgit remote add origin https://gitee.com/openharmony/applications_app_samples.gitgit pull origin master 参考资料 橘子购物示例应用
http://www.hkea.cn/news/14358798/

相关文章:

  • 广告创意网站做网站编辑要会什么
  • 做视频怎样传到网站镇海住房和建设交通局网站
  • 安丘市住房和城乡建设局网站wordpress被扫描
  • 主机 建设网站山东省住房和城乡建设厅电话号码
  • 无锡军自考网站建设社区推广
  • 全屏响应式网站网站后台验证码出不来
  • 网站建设设计解决方案自建网站平台 优帮云
  • 重庆智能建站模板wordpress+4.4.1+中文
  • 文件打开一堆乱码google 优化推广
  • 沈阳开发网站商务软文写作
  • 大鹏附近网站建设运营策划方案模板
  • app软件开发合同范本东莞搜索优化十年乐云seo
  • 烟台做网站谁家好手机论坛网站模板
  • 建网站用天津网站开发网站
  • 网站建设到哪个店做中国建设企业协会网站
  • 网站开发怎样验收wordpress给外部链接加上跳转
  • 阿里云oss做网站备份c2c跨境电商平台有哪些
  • 蓝韵网络专业网站建设怎么样网站建设后台管理流程
  • 网站建设经费wordpress文章页面区别
  • 网站开发三步wordpress添加点赞
  • 丹东网站网站建设百度直播
  • 信誉好的低价网站建设中国制造网外贸
  • 网站关键词快排名旅游网页制作教程
  • 阿里巴巴网站建设方案网站做动态和静态哪个贵
  • 网站建设所需要的内容网站建设用户调查
  • 宝安建网站多少钱sem是什么意思的缩写
  • 深圳网站建设公司开发制作网站微信小程序网站开发教程
  • 苏州网站seo优化怎么做网站卖保险
  • html静态网站开发个人博客电子商务网站建设成本
  • 万州做网站多少钱无锡网站开发定制开发