> В каком порядке вызываются хуки в родительских и дочерних компонентах Angular (Angular)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: LeverX
Стек: Angular
> Пример ответа
В Angular порядок вызова хуков жизненного цикла строго определён и следует иерархии компонентов: сначала отрабатывают хуки родительского компонента, затем дочернего, за исключением ngOnDestroy, где порядок обратный.
Конкретная последовательность для родителя и ребёнка:
-
Родитель:
constructor→ngOnChanges(если есть входные параметры) →ngOnInit→ngDoCheck -
Ребёнок:
constructor→ngOnChanges→ngOnInit→ngDoCheck -
Родитель:
ngAfterContentInit→ngAfterContentChecked -
Ребёнок:
ngAfterViewInit→ngAfterViewChecked -
Родитель:
ngAfterViewInit→ngAfterViewChecked
Ключевые моменты:
-
ngOnInitродителя вызывается доngOnInitребёнка. -
ngAfterViewInitребёнка вызывается доngAfterViewInitродителя - это важно для доступа к ViewChild. -
При уничтожении порядок обратный: сначала
ngOnDestroyу ребёнка, затем у родителя.
Пример: если у родителя есть дочерний компонент <app-child>, то при инициализации сначала сработает ngOnInit родителя, потом ngOnInit ребёнка, а ngAfterViewInit - сначала у ребёнка, потом у родителя.
> Похожие задачи по frontend
Как реализовать shouldComponentUpdate в React
Использовал ли ты Zustand
Что такое транзакции в базах данных и каковы их основные свойства
Приходилось ли менять уровни изоляции транзакций?
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью