Можно ли в Angular 2 использовать Injector

198
23 декабря 2017, 07:14

Пишу обычно так

constructor(protected injector: Injector) {
 this.cookieService = injector.get(CookieService);
}

Один человек сказал что это плохо так делать но не обосновал, подскажите где почитать на эту тему.

Говорит нужно делать только так

constructor(protected cookieService: СookieService) {  
    }
Answer 1

Плохо ли? Не уверен.(Бывают случаи когда надо использовать Injecter. Пример это Angular5 и HttpInterceptor который нельзя прямо инжектить тк он выдает ошибку circular dependency) Просто второй вариант более лаконичен и более понятен. Все что вам нужно знать это то что DI(Dependency injection) сделает все за вас вам лишь остается сделать 2 вещи.

  • В модуле `X` в **providers** добавить Класс который вы хотите добавить в контейнер DI. (Пример ниже)
  • Добавить в конструктор класс который вы хотите получить из DI контейнера
@NgModule({
  imports: [
    CommonModule,
    //and others
  ],
  //Вот сюда добовляете классы который надо инжектить
  providers: [
    RestaurantService
  ]
})
export class XModule { }

Прочитать можете тут https://habrahabr.ru/post/281449/

READ ALSO
создание редактора форм [требует правки]

создание редактора форм [требует правки]

Нужно создать кнопки (удалить объект, добавить объект, редактировать объект, поднять/опустить объект на 1 позицию) Знаю, что локальные переменные...

179
Ошибка в ajax запросе к форме

Ошибка в ajax запросе к форме

Добрый день всем, ребят, не могу понять в чем проблема, очевидно имеет место быть какая то ошибка в ajax запросе, подскажите пожалуйста где я опростоволосился

223
проверка Email в чистом javascript

проверка Email в чистом javascript

Валидация работает только если без проверки Email, то есть только проверка пустой строки, не могу понять почему не получается добавить проверку...

235
Нужно соединить двух братьев в один элемент

Нужно соединить двух братьев в один элемент

Есть два брата, помогите , есть ли метод который с помощью jquery , соединяет их в один братский <ul>

219