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

相关推荐
shmily麻瓜小菜鸡26 分钟前
JavaScript / TypeScript 易踩坑知识点 —— 异步编程类
开发语言·javascript·typescript
tsumikistep1 小时前
【前端】Vue + Axios 跨域问题实战:7070 代理转发 8080 + 401 报错分析(黑马外卖)
前端·javascript·vue.js
默_笙3 小时前
🧀 用户访问一个网站到底经历了什么?全栈部署的"城市观光"指南
前端·javascript
晓天衡宇•评测社区4 小时前
Seedance 2.5 登顶图生视频榜单,Wan 3.0 在游戏与教育场景进入前列
前端·javascript·网络
卡皮巴拉c995 小时前
基于pnpm搭建monorepo项目
前端·javascript
jianpeng的工程笔记5 小时前
Colab Kaggle 防断开脚本
javascript·深度学习·kaggle·colab
巴勒个啦6 小时前
2026 年 CSS 选型真相:我用 Tailwind v4 + 原生新特性重构了一个组件库
前端·angular.js
三十而立洋6 小时前
JavaScript 原型链:一张图讲透「对象继承」的底层真相
前端·javascript
平头哥技术团队6 小时前
Day 13 | 调 line-height 和 margin:三处间距让名片页脱离模板感
开发语言·前端·javascript·学习·html5
老三_Micheal7 小时前
一文搞懂 Axios 请求参数详解:headers、params 与 body 的区别和使用场景
javascript