Я действительно изучаю Angular 2, и мне было интересно, как команда делает, чтобы обрабатывать инъекцию зависимости в своем компоненте?Angular 2 di container
Объяснение
Кажется, что NG2 основан на ES7 декоратора через машинопись. Фактически, декоратор класса является «запуском» (я имею в виду, код декоратора) интерпретируется только тогда, когда класс подвергается инстанцированию.
Итак, как команда справляется с обработкой компонентов или услуг?
Пример
Глядя на этот код из документации:
class AComponent {
constructor(@Inject(MyService) aService:MyService) {}
}
Инъекция производится, когда конструктор класса называется. Это означает, что у MyService есть определенные декораторы/конкретные метаданные (например, @Injectable), которые позволяют ему вводить нет?
В этом случае это означает, что существует реестр служб, список из которых доступен через аннотацию @Inject.
Но это означает, что структура может создать и загрузить этот репозиторий в выполнении (это важное слово), которое не соответствует с декоратора вызовом (при создании экземпляра для класса аннотаций)?
Означает ли это, что каждый компонент/услуги, вводимые инъекцией, инстинктивны как минимум один раз? Или существует ли что-то еще для ввода или выполнения какого-либо декоратора во время выполнения, чтобы заполнить реестр/контейнер службы?
Спасибо за заранее
Я нашел это объяснение весьма полезным: http://blog.thoughtram.io/angular/2015/05/18/dependency -injection-in-angular-2.html – Donal
Спасибо. Знаете ли вы, стоит ли вводить все инъекционные классы внутри одного и только одного инжектора? – mfrachet