博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ionic生命周期
阅读量:6568 次
发布时间:2019-06-24

本文共 2172 字,大约阅读时间需要 7 分钟。

ionic的生命周期

一、ionic的生命周期函数:

import {        Component    } from '@angular/core';        @Component({        template: 'Hello World'    })    class HelloWorld {        ionViewDidLoad() {            console.log("I'm alive!");        }        ionViewWillLeave() {            console.log("Looks like I'm about to leave :(");        }            ionViewCanLeave(): boolean {            // here we can either return true or false            // depending on if we want to leave this view            if (isValid(randomValue)) {                return true;            } else {                return false;            }        }    }
  • Pages的生命周期函数:

生命周期事件它被定义在不同的navigation状态期间,它们能被定义到任何push/pop在NavController中的组件。

  • Pages的生命周期函数列表:

ionViewDidLoad 当页面已经载入后,这个事件仅当页面被创建时执行一次。如果一个页面离开,但是已经缓存,那么后续的查看也不会触发。当为某个页面设置代码时,可放在该方法里。

ionViewWillEnter当页面将要进入并变成激活页面时触发。
ionViewDidEnter当页面已经进去并激活了,不管它是否是第一次载入还是一个缓存的页面,该事件都触发。
ionViewWillLeave当页面将要离开,将不再是一个激活的页面时触发。
ionViewDidLeave当页面已经离开,不是一个激活页面时触发。
ionViewWillUnload当页面将要销毁并移除其元素时触发。
ionViewCanEnter在视图可以进入之前运行。 这可以在经过身份验证的视图中用作一种“保护”,您需要在视图可以进入之前检查权限。
ionViewCanLeave在视图可以离开之前运行。 这可以在经过身份验证的视图中用作一种“保护”,您需要在视图离开之前检查权限。

二、angular的组件生命周期函数(Lifecycle Hooks)

ngOnChanges()

当Angular(重新)设置数据绑定输入属性时响应。当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在ngOnInit()之前。
ngOnInit()
在Angular第一次显示数据绑定和设置指令/组件的输入属性之后,初始化指令/组件。在第一轮ngOnChanges()完成之后调用,只调用一次。
ngDoCheck()
检测,并在发生Angular无法或不愿意自己检测的变化时作出反应。在每个Angular变更检测周期中调用,ngOnChanges()和ngOnInit()之后。
ngAfterContentInit()
当把内容投影进组件之后调用。第一次ngDoCheck()之后调用,只调用一次。
只适用于组件。
ngAfterContentChecked()
每次完成被投影组件内容的变更检测之后调用。ngAfterContentInit()和每次ngDoCheck()之后调用,只适合组件。
ngAfterViewInit()
初始化完组件视图及其子视图之后调用。第一次ngAfterContentChecked()之后调用,只调用一次。只适合组件。
ngAfterViewChecked()
每次做完组件视图和子视图的变更检测之后调用。
ngAfterViewInit()和每次ngAfterContentChecked()之后调用。只适合组件。
ngOnDestroy
当Angular每次销毁指令/组件之前调用并清扫。 在这儿反订阅可观察对象和分离事件处理器,以防内存泄漏。在Angular销毁指令/组件之前调用。

@Directive({selector: '[mySpy]'})export class SpyDirective implements OnInit, OnDestroy {  constructor(private logger: LoggerService) { }  ngOnInit()    { this.logIt(`onInit`); }  ngOnDestroy() { this.logIt(`onDestroy`); }  private logIt(msg: string) {    this.logger.log(`Spy #${nextId++} ${msg}`);  }}

转载地址:http://xyvjo.baihongyu.com/

你可能感兴趣的文章
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
查看>>
网络编程常见问题总结
查看>>
haXe
查看>>
golang strings包部分函数使用
查看>>
eclipse中Tomcat启动了 但看不到tomcat首页
查看>>
MySQL常用命令
查看>>
NYOJ 30 Gone Fishing JAVA+解析
查看>>
【转】解决 java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 问题
查看>>
Winform中添加客户信息
查看>>
JS的Date对象
查看>>
做好自己该做的,赢取自己这一份努力
查看>>
20145222黄亚奇《Java程序设计》第8周学习总结
查看>>
DTCMS插件的制作实例电子资源管理(四)URL重写
查看>>
Win2D 官方文章系列翻译 - 避免内存泄漏
查看>>
【C++】函数指针的嵌套
查看>>
P1156 垃圾陷阱
查看>>
MySQL开发遇到的问题
查看>>
P1339 热浪 最短路径模板题
查看>>
简明现代魔法博客图书馆之php学习记录
查看>>
深入了解java线程池
查看>>