On this page
Injector
class
npm Package | @angular/core |
---|---|
Module | import { Injector } from '@angular/core'; |
Source | core/src/di/injector.ts |
Overview
class Injector {
static THROW_IF_NOT_FOUND: _THROW_IF_NOT_FOUND
static NULL: Injector
static create(options: StaticProvider[] | {...}, parent?: Injector): Injector
get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T
}
How To Use
const injector: Injector = ...;
injector.get(...);
Description
For more details, see the "Dependency Injection Guide".
Example
const injector: Injector =
ReflectiveInjector.resolveAndCreate([{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 = ReflectiveInjector.resolveAndCreate([]);
expect(injector.get(Injector)).toBe(injector);
Subclasses
ReflectiveInjector
TestBed
Static Members
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
Create a new Injector which is configure using StaticProvider
s.
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);
Overloads
static create(providers: StaticProvider[], parent?: Injector): Injector
static create(options: { providers: StaticProvider[]; parent?: Injector; name?: string; }): Injector
Members
get<T>(token: Type<T> | InjectionToken<T>, notFoundValue?: T): T
Retrieves an instance from the injector based on the provided token. If not found:
- Throws an error if no
notFoundValue
that is not equal to Injector.THROW_IF_NOT_FOUND is given - Returns the
notFoundValue
otherwise
Overloads
get(token: any, notFoundValue?: any): any
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v5.angular.io/api/core/Injector