Предоставление услуг динамически в Angular - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть проблема с DI, которую я пытаюсь решить без вздутия кода:

Настройка выглядит следующим образом:

У меня есть базовый класс формы 'A ', который связывается с некоторыми из его дочерних компонентов, использующих службу' B '.

Класс "A" имеет много (скажем, 50) наследующих компонентов формы, и если я хочу предоставить услугу каждому, мне придется go через каждую декларацию компонента и предоставить услугу «B».

Итак, почему бы просто не предоставить в root спросите вы? Ну, этот сервис должен жить только в течение времени, пока форма существует, и, хотя это возможно, он потребует, чтобы я отслеживал жизнь формы и при деактивации охранника очищал сервис ... Не очень грозный способ решения проблемы. проблема (так сказать ...).

Еще одна мысль, которая пришла мне в голову, заключалась в предоставлении услуги ... динамически ... Но я думаю, что это не поддерживается / способ сделать вещи в Angular? Вероятно, это просто не поддерживается.

Я мог бы предоставить шаблон Service Locator, но он будет просто конкурировать с существующим DI.

...