I want to inject a service into a class that is not a component.
For example:
Myservice
import {Injectable} from \'
Injections only works with classes that are instantiated by Angulars dependency injection (DI).
@Injectable() to MyClass andMyClass like providers: [MyClass] in a component or NgModule.When you then inject MyClass somewhere, a MyService instance gets passed to MyClass when it is instantiated by DI (before it is injected the first time).
constructor(private injector:Injector) {
let resolvedProviders = ReflectiveInjector.resolve([MyClass]);
let childInjector = ReflectiveInjector.fromResolvedProviders(resolvedProviders, this.injector);
let myClass : MyClass = childInjector.get(MyClass);
}
This way myClass will be a MyClass instance, instantiated by Angulars DI, and myService will be injected to MyClass when instantiated.
See also Getting dependency from Injector manually inside a directive
constructor(ms:myService)
let myClass = new MyClass(ms);