Spec-Zone.ru › Angular 2

Декоратор Inject

Что он делает

Декоратор параметра, который указывает на зависимость.

Как использовать

@Injectable() class Car { constructor(@Inject("MyEngine") public engine:Engine) {} }

Описание

Для получения более подробной информации см. Руководство по инъекции зависимостей.

Пример

class Engine {}

@Injectable()
class Car {
  constructor(@Inject('MyEngine') public engine: Engine) {}
}

const injector =
    ReflectiveInjector.resolveAndCreate([{provide: 'MyEngine', useClass: Engine}, Car]);

expect(injector.get(Car).engine instanceof Engine).toBe(true);

Когда @Inject() отсутствует, Injector будет использовать аннотацию типа параметра.

Пример

class Engine {}

@Injectable()
class Car {
  constructor(public engine: Engine) {
  }  // same as constructor(@Inject(Engine) engine:Engine)
}

const injector = ReflectiveInjector.resolveAndCreate([Engine, Car]);
expect(injector.get(Car).engine instanceof Engine).toBe(true);

экспортировано из @angular/core/index, определено в @angular/core/src/di/metadata.ts

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/core/index/Inject-decorator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API