Angular 2 通过字符串名称获取服务



有没有办法仅通过服务名称获取角度 2 的可注入服务的实例?

例如,在 Angular 1 中,您可以编写:

var service = $injector.get('ServiceName');

service变量将获取服务的实例。

我真的很感激你们的帮助!

如果按名称提供,则可以按名称注入

@NgModule({
  providers: [
      ServiceName, 
      {provide: 'ServiceName', useExisting: ServiceName}
  ],
  ...

您可以使用 Injector 类创建显式注入器

injector = ReflectiveInjector.resolveAndCreate([ServiceClass, Dependency1Class, Dependency2Class]);
let service= injector.get(ServiceClass); //pass the type not the name

相关内容

  • 没有找到相关文章

最新更新