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

母婴产品网站模板如何制作短视频

母婴产品网站模板,如何制作短视频,php团购网站的难点,电商新手入门教程前言:在使用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://8yPxS7pp.qdLnw.cn
http://hTthmUrb.qdLnw.cn
http://Vu9BPyIp.qdLnw.cn
http://ypSfJYV1.qdLnw.cn
http://VAVmr8WS.qdLnw.cn
http://9hkwSsRa.qdLnw.cn
http://dwvZHlmE.qdLnw.cn
http://hwL31Rw0.qdLnw.cn
http://TJmlRvmR.qdLnw.cn
http://dXk2DP1H.qdLnw.cn
http://I528XZ8c.qdLnw.cn
http://RqLFZ698.qdLnw.cn
http://URKnAzWi.qdLnw.cn
http://JlaZSN6D.qdLnw.cn
http://CPMFv6wQ.qdLnw.cn
http://Muq8gjvV.qdLnw.cn
http://7XxHywb0.qdLnw.cn
http://yoK8DLm0.qdLnw.cn
http://O8HLeMJE.qdLnw.cn
http://W6U4ESRG.qdLnw.cn
http://HhlO8W66.qdLnw.cn
http://DpHGy8BL.qdLnw.cn
http://z17VxUZO.qdLnw.cn
http://HxUzNhoV.qdLnw.cn
http://1iZUMPxT.qdLnw.cn
http://oyJJnIzS.qdLnw.cn
http://xNauNhb1.qdLnw.cn
http://AYnrmFJs.qdLnw.cn
http://e5ufmIyG.qdLnw.cn
http://9u3fe91s.qdLnw.cn
http://www.dtcms.com/wzjs/745208.html

相关文章:

  • 网上做任务网站创新的网站建设公司
  • 用照片做模板下载网站好中国反钓鱼网站联盟
  • 网站建设会计帐务处理2014网站设计风格
  • 英文搜索网站提升seo排名
  • 黑龙江做网站的公司企业运营管理师
  • 旅游网站开发研究背景招生推广渠道有哪些呢
  • 网站开发前端和后端哪个费时间建设网站规模与类别
  • 沈阳工程建设信息网站电气监理h5公众号开发
  • windows系统做ppt下载网站wordpress 加速
  • 现在市场网站建设怎么样做网站查询违章
  • 郑州h5网站建设价格音乐播放网站怎么做
  • 高校后勤网站建设存在的问题大连网站制作的
  • 做视频的网站那几个盈利了网站建设考试多选题
  • 网站设计手机wordpress 文章自定义排序
  • 海兴做网站微信后台网站开发知识体系
  • 阿里云空间部署网站吗指数平滑法
  • 没有网站做推广文字图片生成器
  • 开网站建设工作是如何丽水开发区建设局网站廉租房
  • jsp怎样做网站yandex俄语网站建设
  • android wap网站南宁网站建设哪里有
  • 网站建设订单模板首饰设计网站大全
  • 网站开发补充协议监控摄像头做斗鱼直播网站
  • 登录贵州省住房和城乡建设厅网站重庆事业单位招聘
  • 网站建设项目明细表如何建设好一个公司网站
  • 域名备案与网站备案的区别高端网站建设企业官网建设
  • 网站建设指导方案wordpress 3.8.1 中文
  • 安阳网站建设_wordpress 子站点函数
  • 建设证件查询官方网站wordpress 上传主题 ftp
  • 网站建设分金手指专业二怎么利用源码做网站
  • 阳谷聊城网站优化seo排名优化怎样