A marker metadata that marks a class as available to Injector
for creation.
@Injectable() class Car {}
For more details, see the Dependency Injection Guide.
@Injectable() class UsefulService { } @Injectable() class NeedsService { constructor(public service: UsefulService) {} } const injector = ReflectiveInjector.resolveAndCreate([NeedsService, UsefulService]); expect(injector.get(NeedsService).service instanceof UsefulService).toBe(true);
Injector
will throw NoAnnotationError when trying to instantiate a class that does not have @Injectable
marker, as shown in the example below.
class UsefulService {} class NeedsService { constructor(public service: UsefulService) {} } expect(() => ReflectiveInjector.resolveAndCreate([NeedsService, UsefulService])).toThrow();
exported from @angular/core/index defined in @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/Injectable-decorator.html