Что произойдёт в Angular SPA при переходе между карточками товаров с одним и тем же маршрутом, но разными параметрами, например с `/product/500` на `/product/505`? Будет ли пересоздан компонент и как загрузить новые данные?

При стандартной стратегии Angular компонент того же route config обычно переиспользуется, поэтому ngOnInit заново не вызывается.

Короткий ответ

Что ответить на собеседовании

При стандартной стратегии Angular компонент того же route config обычно переиспользуется, поэтому ngOnInit заново не вызывается.

Подробный разбор

Ответ с пояснениями

Условие

Что произойдёт в Angular SPA при переходе между карточками товаров с одним и тем же маршрутом, но разными параметрами, например с /product/500 на /product/505? Будет ли пересоздан компонент и как загрузить новые данные?

Ответ

При стандартной стратегии Angular компонент того же route config обычно переиспользуется, поэтому ngOnInit заново не вызывается.

Следите за ActivatedRoute.paramMap и загружайте данные нового ID, например через distinctUntilChanged и switchMap. Одного чтения snapshot при создании недостаточно. Отписку и ошибки обрабатывают так, чтобы старый запрос не заменял новую карточку; пользовательская RouteReuseStrategy может менять поведение.

Источник: angular.dev.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее