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

相关推荐
一块plus6 分钟前
一门原本只是“试试水”的课程,没想到炸出了一群真诚的开发者
javascript·面试·github
yvvvy9 分钟前
🚀React + Vite 实战:打造智能单词学习应用
javascript
单休好_好就好在比双休少一天9 分钟前
Vite打包从12.17M -> 7.95M,速度提升≈51.85%
前端·javascript
yinke小琪9 分钟前
JavaScript DOM内容操作常用方法和XSS注入攻击
前端·javascript
然我12 分钟前
闭包在类封装中的神技:实现真正安全的私有属性,面试必懂的封装技巧
前端·javascript·面试
用户名12314 分钟前
Vue 页面快速跳转并打开源代码文件
javascript
爱编程的喵17 分钟前
深入理解JavaScript节流函数:从原理到实战应用
前端·javascript·html
尧木晓晓17 分钟前
开发避坑指南:Whistle 代理失效背后,localhost和 127.0.0.1 的 “爱恨情仇” 与终极解决方案
前端·javascript
Rainbow_Pearl1 小时前
Vue2_element 表头查询功能
javascript·vue.js·elementui
此乃大忽悠2 小时前
XSS(ctfshow)
javascript·web安全·xss·ctfshow