zoukankan      html  css  js  c++  java
  • Angular2 -- 生命周期

    组件生命周期钩子

    指令和组件的实例有一个生命周期:新建、更新和销毁。
    每个接口都有唯一的一个钩子方法,它们的名字是由接口名加上 ng前缀构成的。比如,OnInit接口的钩子方法叫做ngOnInit
    指令和组件
    ngOnInit:当Angular初始化完成数据绑定的输入属性后,用来初始化指令或者组件。
    ngOnChanges:当Angular设置了一个被绑定的输入属性后触发。该回调方法会收到一个包含当前值和原值的changes对象。
    ngDoCheck:用来检测所有变化(无论是Angular本身能检测还是无法检测的),并作出相应行动。在每次执行“变更检测”时被调用。
    ngOnDestory:在Angular销毁指令或组件之前做一些清理工作,比如退订可观察对象和移除事件处理器,以免导致内存泄漏。
    只适用于组件
    ngAfterContentInit:当Angular把外来内容投影进自己的视图之后调用。
    ngAfterContentChecked:当Angular检查完那些投影到自己视图中的外来内容的数据绑定之后调用。
    ngAfterViewInit:在Angular创建完组件的视图后调用。
    ngAfterViewChecked:在Angular检查完组件视图中的绑定后调用。

    生命周期的顺序

    • ngOnChanges:当被绑定的输入属性的值发生变化时调用,首次调用一定会发生在ngOnInit之前。
    • ngOnInit:在第一轮ngOnChanges完成之后调用。
    • ngDoCheck:在每个Angular变更检测周期中调用。
    • ngAfterContentInit:当把内容投影进组件之后调用。
    • ngAfterContentChecked:每次完成被投影组件内容的变更检测之后调用。
    • ngAfterViewInit:初始化完组件及其子视图之后调用。
    • ngAfterViewChecked:每次做完组件视图和子视图的变更检测之后调用。
    • ngOnDestroy:当Angular每次销毁指令/组件之前调用。


    作者:Yeaseon
    链接:https://www.jianshu.com/p/8f4c15186d7b
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    Java实现 LeetCode 56 合并区间
    JQuery实现对html结点的操作(创建,添加,删除)
    JQuery实现对html结点的操作(创建,添加,删除)
    JQuery实现对html结点的操作(创建,添加,删除)
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 55 跳跃游戏
    Java实现 LeetCode 54 螺旋矩阵
    Java实现 LeetCode 54 螺旋矩阵
    Java实现 LeetCode 54 螺旋矩阵
  • 原文地址:https://www.cnblogs.com/aacoutlook/p/9288764.html
Copyright © 2011-2022 走看看