Angular 2按字符串名称获取服务

Ron*_*ham 4 angular2-injection angular2-di angular

有没有办法通过服务名称获得角度为2的可注射服务的实例?

例如,在Angular 1中你可以写:

var service = $injector.get('ServiceName');
Run Code Online (Sandbox Code Playgroud)

并且service变量将获得服务的实例.

我真的很感谢你的帮助!

Gün*_*uer 9

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

@NgModule({
  providers: [
      ServiceName, 
      {provide: 'ServiceName', useExisting: ServiceName}
  ],
  ...
Run Code Online (Sandbox Code Playgroud)

  • 如果密钥作为字符串变量从模板传递,我将如何获取密钥?[我的意思的示例](https://stackblitz.com/edit/angular-3admbe)(查看 hello.component.ts) (2认同)