PassFront
  1. PassFront
  2. База знаний
  3. Жизненный цикл

Какие жизненные циклы компонента в 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

Другие вопросы раздела