在我的项目中,我有各种服务来实现“服务”界面,所以我知道每项服务都有findAll<T>
,find
,create
,(CRUD)等。方法
现在我正在编写一个可以动态附加到其中一个服务的组件,它将调用findAll
方法并从服务中检索所有实体。
我正在使用webpack动态地要求服务:
ngOnInit() {
// Load context for serice API directory:
let req = require.context('../../../../api', true, /^\.\/.*\.ts$/);
// Let's load the service (synchronously)
let service: Service = req('./' + serviceName + 'ApiService.ts')
大!现在,service
包含我的服务。现在我只需要provide
它,因为这些服务并没有全部添加到引导程序中,而只是按需使用。
因此我的问题;如何从组件内动态“提供”服务? (在这之后,我将使用injector.get
来检索服务实例。我想做相同的事情:
provide: service
在我的组件中,但显然,因为我已经在ngOnInit()
,所以为时已晚......
编辑;似乎来自:https://github.com/angular/angular/issues/5622没有干净的解决方案。我的立场有待纠正。