В Angular компонент можно загрузить через import() и создать через NgComponentOutlet или ViewContainerRef, передав нужный injector.
Как динамически загружать тяжёлые компоненты при переключении вкладок без изменения роутинга и передавать им необходимые зависимости через Dependency Injection?
В Angular компонент можно загрузить через import() и создать через NgComponentOutlet или ViewContainerRef, передав нужный injector.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Angular компонент можно загрузить через import() и создать через NgComponentOutlet или ViewContainerRef, передав нужный injector.
Для локальных зависимостей создают дочерний injector с явными providers; для окружения используют соответствующий EnvironmentInjector. При смене вкладки контролируют уничтожение компонента и сервисов. Также нужны состояние загрузки и защита от результата уже неактуальной загрузки.
Источник: angular.dev.