Injectable
decorator
Decorator that marks a class as available to be provided and injected as a dependency.
Option | Description |
---|---|
providedIn |
Determines which injectors will provide the injectable, by either associating it with an @NgModule or other |
See also
Options
providedIn |
---|
Determines which injectors will provide the injectable, by either associating it with an @NgModule or other |
|
Usage notes
Marking a class with @Injectable
ensures that the compiler will generate the necessary metadata to create the class's dependencies when the class is injected.
The following example shows how a service class is properly marked so that a supporting service can be injected upon creation.
@Injectable() class UsefulService { } @Injectable() class NeedsService { constructor(public service: UsefulService) {} } const injector = Injector.create({ providers: [ {provide: NeedsService, deps: [UsefulService]}, {provide: UsefulService, deps: []} ] }); expect(injector.get(NeedsService).service instanceof UsefulService).toBe(true);
© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v8.angular.io/api/core/Injectable