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

服装饰品网站建设宁波seo排名费用

服装饰品网站建设,宁波seo排名费用,wordpress加载慢 2017,济南网站怎么做seo本文转载自《#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/14405235/

相关文章:

  • 温州学校网站建设新闻营销发稿平台
  • 潍坊大型网站建设平台首页关键词排名
  • 网站搭建素材群百度站长工具网站验证
  • 高质量的赣州网站建设商家店铺小程序
  • 温州网站建设服务器男女做羞羞的事情网站
  • 安全网站建设与服务的关系网络规划设计师 用途
  • 天津网站建站古镇免费网站建设
  • 营销网站的概念域名上面怎么建设网站
  • 旅行网站排名网站建设属于那个科目
  • dw制作简单网站东莞地产公司网站建设
  • 简洁网站模板素材2017年网站设计
  • 手机网站建设企业帝国cms官网
  • 网站建设的项目说明书德阳网站建设网站建设
  • 怎么样建设自己的网站东莞市疾控中心地址
  • 做网站找哪家公司最好注册企业营业执照需要什么条件
  • 贵州建设厅监理协会网站碑林区营销型网站建设
  • 做搜狗pc网站软件下载微官网和移动网站区别吗
  • 江西汽车网站建设中山手机网站制作哪家好
  • 有几个网站能在百度做推广网站快速建设视频
  • 浙江网站建设培训机构找小网站的关键词
  • 暖色网站网页设计实验报告总结与展望
  • 丹东建设网官方网站商城小程序开发定制
  • 网站怎么申请支付宝wordpress的文件权限设置方法
  • 社交网站先做pc站可以吗建设网站用什么好处
  • 上海做网站定制上海公共招聘网手机版
  • 网站登录不上不需要备案的服务器
  • 关于网站建设的工作计划给公司做网站 图片倾权
  • 下载的网站模版怎么用昆明 网站设计
  • 网站开发是怎么回事做DJ网站违法吗
  • 科技公司网站响应式贵州省建设厅门户网站