Внедрить сервис с ReflectiveInjector без указания всех классов в дереве зависимостей
В настоящее время у меня есть служба, которая генерирует для меня объект, который должен вести себя как своего рода активная запись, в которой он может лениво заполняться при обращении к его свойствам.
Мой первый подход заключался в том, чтобы сервисы, которые использует сгенерированный объект, вставляли в сервис создания и просто передавали их конструктору созданного объекта, но, поскольку сервис создания никогда не использует их, это выглядит немного грязно.
Вторым способом было использование ReflectiveInjector:
let injector = ReflectiveInjector.resolveAndCreate(
[
ClassToBeCreated,
ServiceA,
ServiceB,
ServiceC
]
)
let created = injector.get(ClassToBeCreated)
Но это вылетает:
EXCEPTION: No provider for Http! (ClassToBeCreated -> ServiceA -> Http)
И если я укажу Http в resolAndCreate, то произойдет сбой при следующей зависимости Http.
Есть ли способ внедрить без необходимости указывать все зависимости вверх по дереву и позволить Angular обрабатывать это?
Я подхожу к этой проблеме в корне неверно?
Любая помощь очень ценится.