Is there a way get an instance of an injectable service of angular 2 just by the service name?
For Example, in Angular 1 you could write:
var service = $injector.get('ServiceName');
and the service
variable would get an instance of the service.
I'd really appreciate your help guys!
If you provide it by name, you can inject it by name
@NgModule({
providers: [
ServiceName,
{provide: 'ServiceName', useExisting: ServiceName}
],
...
You can use Explicit injector creation using the Injector Class
injector = ReflectiveInjector.resolveAndCreate([ServiceClass, Dependency1Class, Dependency2Class]);
let service= injector.get(ServiceClass); //pass the type not the name
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With