Какие жизненные циклы компонента в Angular важны на практике и как их применять?
Жизненный цикл
У компонента Angular есть хуки жизненного цикла — методы, которые Angular вызывает на определённых этапах.
Основные хуки по порядку
- `ngOnChanges` — при изменении входных
@Input(); получаетSimpleChanges. - `ngOnInit` — один раз после первой установки входов. Здесь запускают загрузку данных.
- `ngDoCheck` — на каждой проверке изменений, для своей логики обнаружения изменений (осторожно с производительностью).
- `ngAfterContentInit` / `ngAfterContentChecked` — после проекции содержимого (
<ng-content>). - `ngAfterViewInit` / `ngAfterViewChecked` — после инициализации своего шаблона и дочерних компонентов; здесь доступны
@ViewChild. - `ngOnDestroy` — перед удалением: отписаться от Observable, снять слушатели, очистить таймеры.
export class UserComponent implements OnInit, OnDestroy {
private sub?: Subscription;
ngOnInit() {
this.sub = this.users.load().subscribe((u) => (this.user = u));
}
ngOnDestroy() {
this.sub?.unsubscribe();
}
}Коротко для собеседования
Чаще всего нужны ngOnInit (инициализация), ngOnChanges (реакция на входы), ngAfterViewInit (доступ к DOM) и ngOnDestroy (очистка).
Подробнее: Angular — Component Lifecycle