Module: decorators/inject
Functions
inject
▸ inject(serviceIdentifierOrFunc?): (target: object, key?: string, index?: number) => void
Description
You can use @inject() to perform the required dependency injection module to decorate in the constructor of an injectable class.
If the default is a dependency injection of the class itself as a type, e.g. @inject(Foo) foo: Foo, then it is exactly the same as foo: Foo.
Example
@injectable()
class Bar {
getValue() {
return 'bar';
}
}
@injectable()
class Foo {
getValue() {
return 'foo';
}
}
@injectable()
class FooBar {
constructor(@inject() public bar: Bar, @inject('foo') public foo: Foo) {}
}
const fooBar = testBed({
modules: [
Bar,
{ provide: 'foo', useClass: Foo },
],
main: FooBar,
});
expect(fooBar.instance.foo.getValue()).toBe('foo');
Parameters
| Name | Type |
|---|---|
serviceIdentifierOrFunc? | ServiceIdentifierOrFunc<any> |
Returns
fn
▸ (target, key?, index?): void
Parameters
| Name | Type |
|---|---|
target | object |
key? | string |
index? | number |
Returns
void