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

打开网上免费网站吗网站建设公司包括哪些方面

打开网上免费网站吗,网站建设公司包括哪些方面,岳阳县住房和城乡建设局网站,网上服装商城网站建设方案策划书前言:在使用ArkTs语言写鸿蒙的App中,我们发现Page的生命周期函数,如下: 页面的生命周期(32) onPageShow:页面显示触发(页面特有) onPageHide:页面隐藏触发(页面特有) onBackPress:当用户点击返回按钮时…

前言:在使用ArkTs语言写鸿蒙的App中,我们发现Page的生命周期函数,如下:

页面的生命周期(3+2)

onPageShow:页面显示触发(页面特有)

onPageHide:页面隐藏触发(页面特有)

onBackPress:当用户点击返回按钮时触发(页面特有)

aboutToAppear:组件即将出现时触发

aboutToDisappear:组件即将析构销毁时触发

组件的生命周期(2)

aboutToAppear:组件即将出现时触发

aboutToDisappear:组件即将析构销毁时触发

UIAbility组件生命周期函数

onCreate: UIAbility实例创建完成时触发

onForeground: 在UIAbility的UI可见之前

onBackground: 在UIAbility的UI完全不可见之后

onDestroy: 在UIAbility实例销毁时触发

WindowStage窗口生命周期函数

onWindowStageCreate 窗口才能构建

onWindowStageDestroy 窗口销毁

而我们的页面生命周期函数,aboutToAppear只会触发一次,如果我们的页面视图需要每次出现的时候都要刷新或者请求,就会发现没法触发生命周期函数,在ios的项目中有viewwillappare这个函数,这样就很好处理,但是鸿蒙中没有这样的生命周期函数。
我们的项目路由采用的是hmrouter框架,hmrouter的框架中的生命周期方法就比鸿蒙系统的方法就多了很多。hmrouter的具体用法,我就不在此详细介绍了,需要学习的可以去官网学习下用法。生命周期如下:

export abstract class AbstractLifecycle implements IHMLifecycle {observerMap: Map<HMLifecycleState, Array<(ctx: HMLifecycleContext) => HMLifecycleAction>> = new Map()onPrepare(ctx: HMLifecycleContext): HMLifecycleAction {return HMLifecycleAction.DO_NEXT()}onAppear(ctx: HMLifecycleContext): HMLifecycleAction {return HMLifecycleAction.DO_NEXT()}onDisAppear(ctx: HMLifecycleContext): HMLifecycleAction {return this.runObserver(HMLifecycleState.onDisAppear, ctx)}onShown(ctx: HMLifecycleContext): HMLifecycleAction {return this.runObserver(HMLifecycleState.onShown, ctx)}onHidden(ctx: HMLifecycleContext): HMLifecycleAction {return this.runObserver(HMLifecycleState.onHidden, ctx)}onWillAppear(ctx: HMLifecycleContext): HMLifecycleAction {return HMLifecycleAction.DO_NEXT()}onWillDisappear(ctx: HMLifecycleContext): HMLifecycleAction {return this.runObserver(HMLifecycleState.onWillDisappear, ctx)}onWillShow(ctx: HMLifecycleContext): HMLifecycleAction {return this.runObserver(HMLifecycleState.onWillShow, ctx)}onWillHide(ctx: HMLifecycleContext): HMLifecycleAction {return this.runObserver(HMLifecycleState.onWillHide, ctx)}onReady(ctx: HMLifecycleContext): HMLifecycleAction {return HMLifecycleAction.DO_NEXT()}onBackPressed(ctx: HMLifecycleContext): boolean {return this.runObserver(HMLifecycleState.onBackPressed, ctx).value}

hmrouter的生命周期监听方法太多了,完全够用了。具体用法如下:

export class PageDurationLifecycle extends AbstractLifecycle {private timeMap: Map<string, number> = new Map();onShown(ctx: HMLifecycleContext): HMLifecycleAction {const pageName = ctx.navContext?.pathInfo.name;let param =  ctx.navContext?.pathInfo.param as object;WinLog.info('PageDurationLifecycle onShown pageName:' + pageName)if (pageName) {this.timeMap.set(pageName, new Date().getTime())if (pageName=="LoginPage"){AppStorage.set<boolean>('loginOnPageShow', true);}}return HMLifecycleAction.DO_NEXT();}onHidden(ctx: HMLifecycleContext): HMLifecycleAction {const pageName = ctx.navContext?.pathInfo.nameWinLog.info('PageDurationLifecycle onHidden pageName:' + pageName)if (pageName && this.timeMap.has(pageName)) {const duration = new Date().getTime() - (this.timeMap.get(pageName) as number);this.timeMap.delete(pageName);WinLog.info(`Page ${pageName} stay ${duration} ms`);if (pageName=="LoginPage"){AppStorage.set<boolean>('loginOnPageShow', false);}}return HMLifecycleAction.DO_NEXT();}}

你通过日志观察就会发现,每当LoginPage出现的时候就会调用onShown方法,消失的时候就会调用onHidden方法,那我采用的是AppStorage存储页面的状态,通过监听loginOnPageShow的值来判断页面的生命周期

在LoginPage页面:

@StorageProp('loginOnPageShow') @Watch('onChangeVisibility') pageVisible: boolean = false;onChangeVisibility(){WinLog.debug("MVListAcvtPage 是否展示--->"+this.curPageVisibility)if (this.curPageVisibility) {this.getSubFuncBeanVisitAction()}}
```hmrouter
这样就通过hmrouter框架实现了Page的生命周期的监听,当然hmrouter框架还有很多生命周期方法,你都可以试试。

文章转载自:

http://z53UDSVs.pzymj.cn
http://IoPwvRNJ.pzymj.cn
http://a0qbVf6b.pzymj.cn
http://SEkyKUKi.pzymj.cn
http://POHrf6Pm.pzymj.cn
http://7U5QNHnG.pzymj.cn
http://BHMQXJiW.pzymj.cn
http://GJRjMHsI.pzymj.cn
http://QGVGiXdy.pzymj.cn
http://yxeXZ8k3.pzymj.cn
http://2FFUdNYt.pzymj.cn
http://WKiZJslS.pzymj.cn
http://YRW5LTYl.pzymj.cn
http://6U96mvAK.pzymj.cn
http://wMPYGLJC.pzymj.cn
http://NugYIu8n.pzymj.cn
http://uJJ9szzv.pzymj.cn
http://qOxvYmaB.pzymj.cn
http://2ho1gH1Y.pzymj.cn
http://DorQjSFH.pzymj.cn
http://ZtwN7RQi.pzymj.cn
http://sb1FDQ0j.pzymj.cn
http://uyw1gpsv.pzymj.cn
http://s1XQD4VJ.pzymj.cn
http://t01lciXC.pzymj.cn
http://zpqeXZ6z.pzymj.cn
http://6QallGAJ.pzymj.cn
http://GwlcLrOU.pzymj.cn
http://bN8GQfWs.pzymj.cn
http://0wMIqLTO.pzymj.cn
http://www.dtcms.com/wzjs/674700.html

相关文章:

  • 河池个人网站开发公司长沙seo网络公司
  • 2024免费网站推广大全hishop网站搬家
  • 公司网站建设代理订单网站模块
  • 在线制作网站免费物联网设计方案
  • 文学投稿网站平台建设沈阳网站建设找思路
  • 摄影网站模板源码备案没有商城可以做商城网站吗
  • 微信网站需要一个域名要怎么做电子商务网站的管理
  • 建设银行企业信息门户网站大庆市建设局网站刘东
  • shodan搜索引擎seo 工具
  • 西安专业的网站设计费用企业网站建设合作协议书
  • 潍坊建设网站公司建设集团摩托车
  • 海南房产网站建设seo杭州
  • 天津专门做网站的公司的电话深圳如何优化
  • 广西网站建设价格多少网络营销与策划课程
  • 做网站遵义烟台做网站的企业
  • 企业网站改造优化东莞网站建设服务协议
  • 教育门户网站建站抚州做网站价格多少
  • 做网站其实不贵采集发布wordpress
  • 自家电脑做网站wordpress zip
  • 做视频直播类型的网站登封哪里有做网站的
  • 重庆无障碍网站建设做网站什么主题好
  • vuecms网站开发怎么使用创客贴网站做图
  • 广州应用多的自助建站资讯邢台建手机网站流程
  • 做零食的网站如何自己制作游戏软件
  • 定远规划建设局网站网站工信部备案号
  • 行业网站源码Hdi做指数网站
  • 东台做网站哪家便宜上海服装品牌网站建设
  • 手机网站吧wordpress导航插件
  • 哪有培训网站开发三星网上商城app
  • 速卖通网站怎么做推广成都市建筑设计研究院