美文网首页
Angular更新机制(一):Angular的生命周期

Angular更新机制(一):Angular的生命周期

作者: 摘片叶子 | 来源:发表于2018-07-13 08:48 被阅读0次

Angular更新机制(一):Angular的生命周期

了解Angular的更新机制之前,首先需要了解Angular的每个生命周期

Angular的生命周期分为以下几个(按顺序进行调用)

ngOnChanges()  
ngOninit()
ngDoCheck()
ngAfterContentInit()
ngAfterViewInit()
ngAfterViewChecked()
ngOnDestroy()
ngOnChanges

首次构造组件的时候一定会调用。并且接收一个SimpleChange对象,包含了变换前后的值在这个生命周期时,@Input的属性值会在该生命周期赋给组件

  • ngOnChanges只有在输入属性(@Input修饰的)变化时会调用该生命周期。
  • 子组件的输入属性(基础数据类型)变化时触发这个钩子(引用类型属性变化时不会触发,引用类型会通过Angular的变化机制更新数据)
ngOninit

该生命周期在ngOnChanges之后,并且只会在组件的第一次ngOnChanges之后调用。一般在这个生命周期中来获取数据,减少构造函数的复杂性。

ngDoCheck

该生命周期,会在每次变化检测时调用。无论组件本身的数据是否发生了变化(每个异步事件都会触发组件的变化检测),每个变化周期ngDoCheck都会被调用。所以尽量不要在这个生命周期做很复杂的事情。

ngAfterContentInit

在组件中使用了<ng-content>嵌入了外部内容,Angular会在第一次ngDoCheck执行之后调用该生命周期,并且只调用一次

ngAfterContentChecked

与上面的ngAfterContentInit相对应,在组件中使用了<ng-content>嵌入了外部内容,第一次执行ngAfterContentInit之后和每次变化检测都会调用该生命周期。挺像ngDoCheck的。

  • 当父组件和子组件都有投影内容时,会先执行父组件的ngAfterContentInit和ngAfterContentChecked之后,在执行子组件的这两个生命周期
ngAfterViewInit

Angular创建了组件的视图和子视图之后被调用(组件本身和所有的子组件渲染完成,已经呈现在页面上)

ngAfterViewChecked

第一次执行ngAfterViewInit和在每个变化检测都会被调用

  • 当父组件和子组件都发生视图变化时,会先执行子组件的ngAfterViewInit和ngAfterViewChecked生命周期钩子,与contentInit和contnentChecked相反
ngOnDestroy

组件销毁前调用

相关文章

  • Angular更新机制(一):Angular的生命周期

    Angular更新机制(一):Angular的生命周期 了解Angular的更新机制之前,首先需要了解Angula...

  • angular 钩子

    angular 钩子ngOnInit是 Angular 组件生命周期中的一个钩子,Angular 中的所有钩子和调...

  • angular中的生命周期

    生命周期 1、Angular每个组件都存在一个生命周期,从创建,变更到销毁。Angular提供组件生命周期钩子,把...

  • angular生命周期

    大纲 1、angular生命周期是什么2、生命周期钩子分类3、Angular 2 指令生命周期钩子的作用及调用顺序...

  • Angular 2+ 的组件生命周期

    参考资料: angular 2.0 从0到1 -> #Angular 2的组件生命周期

  • 12.《Angular生命周期》

    一、生命周期钩子 每个组件都有一个被 Angular 管理的生命周期。Angular 创建它,渲染它,创建并渲染它...

  • angular6.x--生命周期

    按照生命周期执行的先后顺序,Angular生命周期接口如下所示 生命周期顺序简写在Angular通过构造函数创建组...

  • Angular Change Detection 的学习笔记

    Angular 变化检测机制[https://blog.angular-university.io/how-doe...

  • Angular2生命周期钩子函数

    Angular每个组件都存在一个生命周期,从创建,变更到销毁。Angular提供组件生命周期钩子,把这些关键时刻暴...

  • Angular2生命周期钩子函数

    Angular每个组件都存在一个生命周期,从创建,变更到销毁。Angular提供组件生命周期钩子,把这些关键时刻暴...

网友评论

      本文标题:Angular更新机制(一):Angular的生命周期

      本文链接:https://www.haomeiwen.com/subject/uzndpftx.html