如何向 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