Поставщик условных угловых компонентов - PullRequest
0 голосов
/ 10 октября 2018

У меня есть компонент, который зависит от службы, которая может быть предоставлена ​​его родительским компонентом, или создать новый экземпляр этой службы в зависимости от динамического состояния.

Проблема, с которой я столкнулся, заключается в том, что, если я укажу поставщика или даже поставщика услуг, я потеряю родительский экземпляр службы.Можно ли получить дескриптор родительского экземпляра?

 providers: [ myserviceProvider]

псевдокод в myServiceProvider:

provide: MyService,
    useFactory: myServiceFactory,
    deps: [AuthorisationService]

const myServiceFactory = (authorisationService: AuthorisationService) => {
  return authorisationService.isAuthorised() ? /** what goes here? *// : new MyService();
};

В / * что здесь происходит?* / space Я хочу вернуть существующий экземпляр myservice, который был бы внедрен, если бы я не объявил провайдера,

отредактирован для ясности: родительский экземпляр не будет корневым экземпляром службы (он имеета также собственный провайдер, который просто вводит с использованием стандартного синтаксиса провайдера)

1 Ответ

0 голосов
/ 10 октября 2018

То, что вы ищете здесь, это базовый синглтон, если я не ошибаюсь?

См. Следующую тему о том, как ее создать

...