Javascript 通过字符串注入和解析angular2提供程序
我正在尝试将基于运行时数据的提供程序注入我的angular2组件 到目前为止,我有:Javascript 通过字符串注入和解析angular2提供程序,javascript,angular,typescript,angular2-services,Javascript,Angular,Typescript,Angular2 Services,我正在尝试将基于运行时数据的提供程序注入我的angular2组件 到目前为止,我有: let type: PropertyDescriptor = Object.getOwnPropertyDescriptor(providers, provider.name); if (!type) return; let injector: Injector = ReflectiveInjector.resolveAndCreate([(<any>type).get()]);
let type: PropertyDescriptor = Object.getOwnPropertyDescriptor(providers, provider.name);
if (!type) return;
let injector: Injector = ReflectiveInjector.resolveAndCreate([(<any>type).get()]);
let resolvedProvider: IAnalyticRepository = injector.get((<any>type).get());
let类型:PropertyDescriptor=Object.getOwnPropertyDescriptor(providers,provider.name);
如果(!type)返回;
让injector:injector=ReflectiveInjector.resolveAndCreate([(type).get()]);
让resolvedProvider:IAnalyticResposition=injector.get((type.get());
这会尝试创建提供程序,但由于其子依赖关系,它会抛出一个错误
我收到的错误是:
错误:HttpHandler没有提供程序!(GoogleRepository->HttpHandler)
如何将子提供程序注入已解析的提供程序?我想您想要的是构建一个在解析时也包含Angular2提供程序的注入程序
constructor(private injector:Injector) {}
...
someMethod() {
let resolvedProviders = ReflectiveInjector.resolve([Car, Engine]);
let child = ReflectiveInjector.fromResolvedProviders(
resolvedProviders,
this.injector
);
}
另请参见什么错误?这与“字符串提供者”有什么关系?我想说的是,我是在动态注入。我将编辑以添加错误。