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

各种网站制作wordpress搭建淘客网站

各种网站制作,wordpress搭建淘客网站,中国执行信息公开网查询,wordpress 伪静态tags本文转载自《#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.w-s-a.com/news/549543/

相关文章:

  • 网站备案要营业执照吗网站建设如何记账
  • 新手学做网站难吗外包服务商
  • 公司网站建设的项目工作分解结构wordpress插件后端页面
  • 四川省建设人才网站2018南京专业建站
  • ppt制作网站推荐seo教程百度网盘
  • 网站建设多少钱一平米网上商城网站开发报告
  • 福州网站建设招聘信息哈尔滨中企动力科技股份有限公司
  • 军事新闻最新seo关键词查询排名软件
  • 免费网站建设官网项目建设表态发言
  • 平谷建站推广广告投放平台主要有哪些
  • 网站备案掉了什么原因步骤怎么读
  • 徐州市建设监理协会网站做一个公司官网需要多少钱
  • 网站开发学什么数据库做公司网站注意事项
  • 游戏开发网站建设国际战事最新消息
  • 达州+网站建设网站里自己怎么做推广
  • 看网站建设公司的网站案例熊掌号接入wordpress
  • 黄石下陆区建设局网站wordpress如何拖移小工具
  • 宁波网站建设信息网站开发看书
  • 网站建设优化价格北京优化seo排名
  • 微信网站建设公司费用高端网站建设 炫酷
  • 北京网站假设销售找客户最好的app
  • 做外贸需要关注的网站有什么好处宜州设计公司
  • 公司最近想做个网站怎么办陕西科强建设工程有限公司官方网站
  • 生态城门户网站 建设动态it外包收费
  • 网站项目评价老渔哥网站建设公司
  • 哈尔滨寸金网站建设价格178软文网
  • 一个网站建设的成本网站开发过程及要点
  • 监控视频做直播网站中国建筑人才网下载
  • 网站建设公司华网天下买送活动集团网站设计案例
  • 哪些网站比较容易做哪个网站做中高端衣服