如何向 StaticInjector 提供 HttpClient - Angular 5?
How to provide HttpClient to StaticInjector - Angular 5?
我正在尝试使用 ng-bootstrap 库中的 NgbModal 动态创建一个组件(我相信它使用下面的 ComponentFactoryResolver 方法)但是当我尝试 运行 时遇到了问题将 HttpClient 提供给静态注入器。
有没有人 运行 了解这个问题并且知道该怎么办?先谢谢您的帮助!
编辑:我创建新组件的代码。
let modal: NgbModalRef =
this.modalService.open(HoursApprovalModalComponent, {
injector: Injector.create( [
{provide: FormBuilder, useClass: FormBuilder, deps: []},
{ provide: AttendanceService, useClass: AttendanceService, deps: [HttpClient]},
{ provide: HttpClient, useClass: HttpClient, deps: []},
// { provide: HttpHandler, useClass: HttpHandler, deps: [] },
] ),
size: 'lg'
});
如果HttpClient
在根模块中可用,则不需要传递任何注入器。如果您希望组件使用与根注入器不同的注入器,这将很有用。就像在任何其他组件中一样,只需在模态组件中注入 HttpClient。
这是一个working demo
我正在尝试使用 ng-bootstrap 库中的 NgbModal 动态创建一个组件(我相信它使用下面的 ComponentFactoryResolver 方法)但是当我尝试 运行 时遇到了问题将 HttpClient 提供给静态注入器。
有没有人 运行 了解这个问题并且知道该怎么办?先谢谢您的帮助!
编辑:我创建新组件的代码。
let modal: NgbModalRef =
this.modalService.open(HoursApprovalModalComponent, {
injector: Injector.create( [
{provide: FormBuilder, useClass: FormBuilder, deps: []},
{ provide: AttendanceService, useClass: AttendanceService, deps: [HttpClient]},
{ provide: HttpClient, useClass: HttpClient, deps: []},
// { provide: HttpHandler, useClass: HttpHandler, deps: [] },
] ),
size: 'lg'
});
如果HttpClient
在根模块中可用,则不需要传递任何注入器。如果您希望组件使用与根注入器不同的注入器,这将很有用。就像在任何其他组件中一样,只需在模态组件中注入 HttpClient。
这是一个working demo