我将BsModalService注入自己的提供程序中,在构造函数中定义了bs模态服务,但在同一类的函数中却未定义。
我尝试使用注入属性,尝试添加deps属性。
这里是我的提供程序类的相关部分:
constructor(
private http: HttpClient,
private modalService: BsModalService
) {
// here the service is defined and everything is good
console.log(this.modalService);
}
public errorHandler(e?: any) {
// here the service is undefined
console.log(this.modalService);
if (this.modalService.getModalsCount() <= 1) {
this.modalService.show(NetworkErrorDialogComponent, {initialState: e});
}
return of(e);
}
public getData(options?: HttpOptions) {
return this.http.get('path/to/my/api', options).pipe(
map(response => response.data || response),
catchError(this.errorHandler)
);
}
答案 0 :(得分:0)
解决了, 我将errorHandler转移到catchError而不是调用它。 这是解决方案:
catchError(e => this.errorHandler(e))