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

网站制作需要学多久js网站模板免费下载

网站制作需要学多久,js网站模板免费下载,湖北企业网站建设公司,wordpress主题google生命周期#xff08;Lifecycle#xff09; 使用HMRouter的页面跳转时#xff0c;想实现和Navigation一样的生命周期时#xff0c;需要通过新建生命周期类来实现对页面对某一个生命周期的监控。 新建Lifecycle类 通过继承IHMLifecycle接口实现生命周期接口的方法重写。 通过…生命周期Lifecycle 使用HMRouter的页面跳转时想实现和Navigation一样的生命周期时需要通过新建生命周期类来实现对页面对某一个生命周期的监控。 新建Lifecycle类 通过继承IHMLifecycle接口实现生命周期接口的方法重写。 通过添加HMLifecycle装饰器来定义生命周期类的名称然后在页面中使用 IHMLifecycle export interface IHMLifecycle {onPrepare?(ctx: HMLifecycleContext): void;onAppear?(ctx: HMLifecycleContext): void;onDisAppear?(ctx: HMLifecycleContext): void;onShown?(ctx: HMLifecycleContext): void;onHidden?(ctx: HMLifecycleContext): void;onWillAppear?(ctx: HMLifecycleContext): void;onWillDisappear?(ctx: HMLifecycleContext): void;onWillShow?(ctx: HMLifecycleContext): void;onWillHide?(ctx: HMLifecycleContext): void;onReady?(ctx: HMLifecycleContext): void;onBackPressed?(ctx: HMLifecycleContext): boolean; }onPrepare在拦截器执行后路由栈真正push前触发。onWillAppear在路由组件创建后挂载到组件树之前执行。onAppear通用生命周期事件路由组件挂载到组件树时执行。onWillShow路由组件布局显示之前执行此时页面不可见应用切换到前台不会触发。onShown路由组件布局显示之后执行此时页面已完成布局。onWillHide路由组件触发隐藏之前执行应用切换到后台不会触发。onHidden路由组件触发隐藏后执行非栈顶页面push进栈栈顶页面pop出栈或应用切换到后台。onWillDisappear路由组件即将销毁之前执行如果有转场动画会在动画前触发栈顶页面pop出栈。onDisappear通用生命周期事件路由组件从组件树上卸载销毁时执行。onReady在即将构件子组件时触发此回调。onBackPressed在路由组件绑定的页面栈中存在内容时此回调生效。当点击返回键时触发该回调。返回值为true时表示重写返回键逻辑false时表示回退到上一个页面。 下面插入Navigation的生命周期流程图HMRouter的生命周期流程类似在此基础上增加了额外的生命周期流程。 HMLifecycle装饰器 export declare function HMLifecycle(param: HMLifecycleParam): ObjectConstructor; export interface HMLifecycleParam {lifecycleName: string;priority?: number;global?: boolean; }标记在实现了IHMLifecycle的对象上声明此对象为一个自定义生命周期处理器。 lifecycleName自定义生命周期处理器名称必填。priority:生命周期优先等级。按照优先等级顺序触发不区分自定义或者全局生命周期优先级相同时先执行HMRouter中定义的自定义生命周期。global是否为全局生命周期true时所有页面生命周期事件为当前设定的生命周期处理器默认为false。 实现代码 在之前文章的基础上进行修改。 添加一个Lifecycles文件夹并新建一个TwoPageLifecycle来实现TwoPage页面的生命周期。 TwoPageLifecycle import { HMLifecycle, HMLifecycleContext, IHMLifecycle } from hadss/hmrouter;HMLifecycle({ lifecycleName: TwoPageLifecycle }) export class TwoPageLifecycle implements IHMLifecycle {/*** 在拦截器执行后路由栈真正push前触发* param ctx*/onPrepare(ctx: HMLifecycleContext): void {console.debug(router, onPrepare);}onWillAppear(ctx: HMLifecycleContext): void {console.debug(router, onWillAppear);}onAppear(ctx: HMLifecycleContext): void {console.debug(router, onAppear);}onWillShow(ctx: HMLifecycleContext): void {console.debug(router, onWillShow);}onShown(ctx: HMLifecycleContext): void {console.debug(router, onShown);}onWillHide(ctx: HMLifecycleContext): void {console.debug(router, onWillHide);}onHidden(ctx: HMLifecycleContext): void {console.debug(router, onHidden);}onWillDisappear(ctx: HMLifecycleContext): void {console.debug(router, onWillDisappear);}onDisAppear(ctx: HMLifecycleContext): void {console.debug(router, onDisAppear);}onReady(ctx: HMLifecycleContext): void {console.debug(router, onReady);}onBackPressed(ctx: HMLifecycleContext): boolean {console.debug(router, onBackPressed);return true;} }TwoPage import { HMPopInfo, HMRouter, HMRouterMgr } from hadss/hmrouter import { PageModel } from ../../Models/PageModelHMRouter({ pageUrl: TwoPage, lifecycle: TwoPageLifecycle }) Component export struct TwoPage {aboutToAppear(): void {let currentParam: PageModel HMRouterMgr.getCurrentParam() as PageModel;if (currentParam undefined) {return;}console.debug(router, name: currentParam.Name);console.debug(router, age: currentParam.Age);}build() {Column({ space: 20 }) {Button(ThreePage).width(80%).onClick(() {HMRouterMgr.push({navigationId: mainNavigation,pageUrl: ThreePage}, {onResult: (popInfo: HMPopInfo) {let popResult: PageModel popInfo.result as PageModel;if (popResult null || popResult undefined) {return;}console.debug(router, name: popResult.Name);console.debug(router, age: popResult.Age);}})})Button(ThreeReplacePage).width(80%).onClick(() {HMRouterMgr.replace({navigationId: mainNavigation,pageUrl: ThreePage}, {onResult: (popInfo: HMPopInfo) {let popResult: PageModel popInfo.result as PageModel;if (popResult null || popResult undefined) {return;}console.debug(router, name: popResult.Name);console.debug(router, age: popResult.Age);}})})Button(HomePage).width(80%).onClick(() {HMRouterMgr.pop({navigationId: mainNavigation})})}.height(100%).width(100%)} }实现效果 在生命周期方法中实现内容打印截图如下 可以看到生命周期的调用顺序
http://www.dnsts.com.cn/news/27290.html

相关文章:

  • 青岛圭谷网站建设公司郑州seo外包v1
  • 网站开发怎么使用维语山西省吕梁市有哪些县
  • 做网站需要的带宽上行还是下行企业网查询官网在线登录入口
  • 做网站如何更新百度快照个人网站可以不备案吗
  • 中国优秀的企业网站微网站风格
  • 南京网站推广价格上饶市做网站
  • 新手制作网站wordpress如何装模板
  • 杭州做网站哪家便宜网站关键词设置几个
  • 纯静态网站的用什么cms沈阳互联网公司
  • 在微信中做网站wordpress 跳过ftp
  • 辽源网站seo漳州网站建设公司
  • 葫芦岛网站网站建设外贸海外网站推广
  • wordpress建站详细教程wordpress 和dokuwiki
  • 潍坊 网站建设网站建设人员的安排
  • 网站开发做表格示例天津网站建设天津
  • 织梦网站怎么做301房屋设计软件免费下载
  • 高质量的高密网站建设杭州优化公司排行榜
  • 做农药的网站wordpress35
  • 用php做的网站论文贵州城乡建设厅施工员报名网站
  • 建设网站需要多少人做网站然后卖
  • 网站建设去哪可接单单县网站定制
  • 网站使用网络图片做素材 侵权吗做网站投入
  • 做直播网站一定要idc吗网站建设app销售好做吗
  • 合肥模板建站多少钱做网站设计比较好的公司
  • 网站建设业务员前景物联网解决方案
  • 上饶做网站哪家好哦个人卖货入驻什么平台
  • 网站海外推广资源学术网站建设
  • 梅河口建设局网站腾讯免费网站建设
  • 基于中小企业需求的电子商务网站建设营销式网站制作
  • 怎么做可以聊天的网站电话怎么做网站域名