美文网首页我爱编程
Angular 2+ 的组件生命周期(二)

Angular 2+ 的组件生命周期(二)

作者: 环零弦 | 来源:发表于2018-05-16 13:43 被阅读0次

参考资料:组件的生命周期

在Angular框架中,一个组件的生命周期可分为若干个阶段,并提供了若干个钩子 供组件的开发者在合适的时机注入代码:


Angular组件的生命周期

从上图可以看出,框架预留的钩子主要集中在变化检测周期里。在每个变化检测周期, 框架依次会调用以下钩子:

  • ngOnChanges:组件的输入属性值发生变化时触发。
  • ngDoCheck:为组件提供一个自行检查模型变化的时机 —— 意思是Angular有可能 会检查不出来模型的变化,这时你得自己干。
  • ngAfterContentChecked:组件投射内容的变化检测及更新完成后触发。
  • ngAfterViewChecked:组件视图的变化检测及更新完成后触发。

如果是组件创建之后的第一个检测周期,那么框架将依次按上图中的顺序调用以下 钩子:

  • ngOnInit:当组件的输入属性就绪后触发。
  • ngAfterContentInit:当组件的投射内容就绪后触发。
  • ngAfterViewInit:当组件的视图就绪后触发。

当组件被销毁时(例如,使用 NgIf 指令将其移除),将触发 ngOnDestroy 钩子。

关于Angular如何错过模型的变化,以及什么是投射内容,将在后续内容中讲述。这里 要强调的是,组件的各种生命周期钩子,都是在变化检测周期中触发的,只是在第一次 进入检测周期时,额外执行了三个初始化钩子。

在每个检测周期中,这些钩子总是按照上图中的先后顺序执行。其中最常用的是 ngAfterViewInitngOnChanges。在Angular中很多操作都需要在视图就绪 后执行,因此 ngAfterViewInit 提供了一个注入代码的好时机。而 ngOnChanges 钩子则在组件的属性值变化时触发,这是一个无状态组件(没有内部模型)更新其 逻辑的好时机。

相关文章

  • Angular 2+ 的组件生命周期(二)

    参考资料:组件的生命周期 在Angular框架中,一个组件的生命周期可分为若干个阶段,并提供了若干个钩子 供组件的...

  • Angular 2+ 的组件生命周期

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

  • angular中的生命周期

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

  • Angular2生命周期钩子函数

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

  • Angular2生命周期钩子函数

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

  • angular 学习记录(七)

    一、生命周期钩子 当 Angular 实例化组件类并渲染组件视图及其子视图时,组件实例的生命周期就开始了。生命周期...

  • angular 钩子

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

  • 12.《Angular生命周期》

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

  • angular生命周期

    组件生命周期 与其他框架的组件,Angular的组件也是有生命周期这个概念。在不同的阶段不同的场景下,可以调用不同...

  • Angular生命周期

    Angular生命周期 初始化组件生命周期执行顺序 DOM事件setTimeout,setInterval,aja...

网友评论

    本文标题:Angular 2+ 的组件生命周期(二)

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