如何向StaticInjector提供HttpClient - Angular 5?

时间:2018-01-18 19:26:04

标签: angular angular5 ng-bootstrap

我正在尝试使用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'
        });

1 个答案:

答案 0 :(得分:1)

如果根模块中有HttpClient,则无需传递任何注入器。如果您希望组件使用与根目录不同的注入器,那么这非常有用。只需像在任何其他组件中那样在模态组件中注入HttpClient。

这是working demo