Я пытаюсь выяснить, как работает инъекция зависимостей (DI) в Angular2. Я сталкивался с множеством проблем/проблем каждый раз, когда я пытался внедрить сервис/класс в мои компоненты.
Из разных статей в googled мне нужно либо использовать поставщиков: [] в конфигурации Component, либо иногда мне нужно использовать @Inject() в моем конструкторе или вводить непосредственно в bootstrap (приложение, [услуга])? Я также видел, как некоторые статьи хотят, чтобы я поставил @indjectable decorator.
Например: для ввода Http мне нужно импортировать {Http} и помещать Http в провайдеры, но для FormBuilder мне нужно использовать @Inject() в конструкторе.
Есть ли какое-либо эмпирическое правило о том, когда использовать что? Не могли бы вы предоставить несколько примеров кода? Спасибо: -)