Angular生命周期函数

Angular 中,组件的生命周期由一系列钩子函数(lifecycle hooks)来控制,这些钩子函数按照特定的顺序在组件的生命周期中被调用。以下是常见的 Angular 组件生命周期函数及其运行顺序:

  1. ngOnChanges: 当组件的输入属性发生变化时,ngOnChanges 钩子函数会被调用。它会在组件初始化之后以及每次输入属性发生变化时执行。

  2. ngOnInit: ngOnChanges之后,ngOnInit钩子函数被调用。它在组件初始化完成后立即执行,用于进行组件的一次性初始化操作。

  3. ngDoCheck: 在每个变更检测周期中,ngDoCheck钩子函数会被调用。它用于检测和响应组件中的任何变化,包括检测到输入属性的变化、检测到子组件变化等。

  4. ngAfterContentInit: 当组件所包含的外部内容投影到组件视图之后,ngAfterContentInit 钩子函数被调用。它表示组件的内容初始化已完成。

  5. ngAfterContentChecked: 在每个变更检测周期中,ngAfterContentChecked 钩子函数会被调用。它在ngAfterContentInit 之后调用,用于执行与内容投影相关的任何后续操作。

  6. ngAfterViewInit: 当组件的视图初始化完成后,ngAfterViewInit 钩子函数被调用。它表示组件的视图已经初始化完成,可以进行 DOM 操作。

  7. ngAfterViewChecked: 在每个变更检测周期中,ngAfterViewChecked钩子函数会被调用。它在ngAfterViewInit 之后调用,用于执行与视图相关的任何后续操作。

  8. ngOnDestroy: 当组件即将被销毁时,ngOnDestroy钩子函数会被调用。它用于进行组件的善后操作,如取消订阅、释放资源等。

需要注意的是,ngOnChanges、ngOnInit、ngDoCheck、ngAfterContentChecked、ngAfterViewInit、ngAfterViewChecked 这些钩子函数会在每个变更检测周期中被调用,而 ngAfterContentInit 和 ngOnDestroy 只会在组件的生命周期中被调用一次。

以上是Angular组件生命周期函数的运行顺序。了解它们的执行顺序有助于在合适的时机执行特定的操作,以确保组件的生命周期正确地处理和管理组件的状态和行为。

相关推荐
蒜蓉大猩猩27 分钟前
Vue.js - 组件化编程
开发语言·前端·javascript·vue.js·前端框架·ecmascript
Clockwiseee1 小时前
JS原型、原型链以及原型链污染学习
javascript·学习·原型模式
遇到困难睡大觉哈哈1 小时前
JavaScript面向对象
开发语言·javascript·ecmascript
我是Superman丶1 小时前
【前端】js vue 屏蔽BackSpace键删除键导致页面后退的方法
开发语言·前端·javascript
小仓桑1 小时前
利用 Vue 组合式 API 与 requestAnimationFrame 优化大量元素渲染
前端·javascript·vue.js
ᥬ 小月亮2 小时前
Layui表格的分页下拉框新增“全部”选项
android·javascript·layui
过期的H2O22 小时前
【H2O2|全栈】JS进阶知识(十一)axios入门
开发语言·javascript·ecmascript·axios
过期的H2O22 小时前
【H2O2|全栈】JS进阶知识(十)ES6(6)
开发语言·前端·javascript·ecmascript·es6
念怀故安2 小时前
第十章 JavaScript的应用
开发语言·javascript·ecmascript
前端郭德纲2 小时前
React Native 性能调试指南
javascript·react native·react.js