Angular 2 通过字符串名称获取服务
Angular 2 get service by string name
有没有办法仅通过服务名称获取 angular 2 的可注入服务实例?
例如,在 Angular 1 你可以写:
var service = $injector.get('ServiceName');
和 service
变量将获得服务的一个实例。
非常感谢你们的帮助!
如果按名称提供,则可以按名称注入
@NgModule({
providers: [
ServiceName,
{provide: 'ServiceName', useExisting: ServiceName}
],
...
您可以使用Explicit injector creation using the Injector Class
injector = ReflectiveInjector.resolveAndCreate([ServiceClass, Dependency1Class, Dependency2Class]);
let service= injector.get(ServiceClass); //pass the type not the name
有没有办法仅通过服务名称获取 angular 2 的可注入服务实例?
例如,在 Angular 1 你可以写:
var service = $injector.get('ServiceName');
和 service
变量将获得服务的一个实例。
非常感谢你们的帮助!
如果按名称提供,则可以按名称注入
@NgModule({
providers: [
ServiceName,
{provide: 'ServiceName', useExisting: ServiceName}
],
...
您可以使用Explicit injector creation using the Injector Class
injector = ReflectiveInjector.resolveAndCreate([ServiceClass, Dependency1Class, Dependency2Class]);
let service= injector.get(ServiceClass); //pass the type not the name