是否有办法通过服务名称获取角度为2的可注入服务的实例?
例如,在Angular 1中你可以写:
var service = $injector.get('ServiceName');
并且service
变量将获得服务的实例。
我真的很感谢你的帮助!
答案 0 :(得分:9)
如果按名称提供,可以按名称注入
@NgModule({
providers: [
ServiceName,
{provide: 'ServiceName', useExisting: ServiceName}
],
...
答案 1 :(得分:1)
您可以使用Explicit injector creation
使用Injector Classinjector = ReflectiveInjector.resolveAndCreate([ServiceClass, Dependency1Class, Dependency2Class]);
let service= injector.get(ServiceClass); //pass the type not the name