Injector
class
Concrete injectors implement this interface.
abstract class Injector {
static THROW_IF_NOT_FOUND: THROW_IF_NOT_FOUND
static NULL: Injector
static create(options: StaticProvider[] | { providers: StaticProvider[]; parent?: Injector; name?: string; }, parent?: Injector): Injector
abstract get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T, flags?: InjectFlags): T
} Subclasses
Description
For more details, see the "Dependency Injection Guide".
Static properties
| Property | Description |
|---|---|
static THROW_IF_NOT_FOUND: THROW_IF_NOT_FOUND | |
static NULL: Injector |
Static methods
| create() | ||||||
|---|---|---|---|---|---|---|
| Create a new Injector which is configure using | ||||||
|
providers | StaticProvider[] | |
parent | Injector | Optional. Default is |
Returns
static create(options: { providers: StaticProvider[]; parent?: Injector; name?: string; }): Injector
Parameters
options | object |
Returns
Usage Notes
Example
class Square {
name = 'square';
}
const injector = Injector.create({providers: [{provide: Square, deps: []}]});
const shape: Square = injector.get(Square);
expect(shape.name).toEqual('square');
expect(shape instanceof Square).toBe(true); Methods
| get() | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Retrieves an instance from the injector based on the provided token. | |||||||||
|
token | Type | |
notFoundValue | T | Optional. Default is |
flags | InjectFlags | Optional. Default is |
Returns
T: The instance from the injector if defined, otherwise the notFoundValue.
Throws
Error When the notFoundValue is undefined or Injector.THROW_IF_NOT_FOUND.
abstract get(token: any, notFoundValue?: any): any
Deprecated from v4.0.0 use Type
Parameters
token | any | |
notFoundValue | any | Optional. Default is |
Returns
any
Usage notes
Example
const injector: Injector =
Injector.create({providers: [{provide: 'validToken', useValue: 'Value'}]});
expect(injector.get('validToken')).toEqual('Value');
expect(() => injector.get('invalidToken')).toThrowError();
expect(injector.get('invalidToken', 'notFound')).toEqual('notFound'); Injector returns itself when given Injector as a token:
const injector = Injector.create({providers: []});
expect(injector.get(Injector)).toBe(injector);
© 2010–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v8.angular.io/api/core/Injector