в том, что я в компоненте указываю абстрактный сервис, ну и указываю правило, какой сервис подставить
по такой реализации я хз, ждем ответов от гуру )
Вы немного не с той стороны зашли. Оставьте абстракцию для расширения своих модулей. Если у вас есть конкретная реализация вашего сервиса, то запрашивайте ее через DI напрямую (при условии, что это не зависимость от модуля), либо можете запрашивать его у какого-нибудь резолвера сервисов. Касательно провайдеров. Когда запрашивается провайдер, то он ищется по дереву инжекторов. Если инстанс провайдера уже существует, то он возвращается. Компоненты и ленивые модули имеют свой скоуп. Например, если вы запровайдили провайдер в контексте компонента, то при каждом создании этого компонента, будет создаваться инстанс провайдера. Тоже самое касается и ленивых модулей. Более подробно, и дальше по вложенным ссылкам: https://angular.io/guide/architecture-services
Обсуждают сегодня