У меня проблема, когда свойство _modalStack службы NgbModal не определено при использовании этой службы в другой службе, это служба, которую я использую для NgbModal:
import { Injectable } from '@angular/core';
import { HttpErrorResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
import { LoggerService } from '@app/shared/logger.service';
import {
NgbModalOptions,
NgbModal,
NgbModalRef,
} from '@ng-bootstrap/ng-bootstrap';
import { ErrorHandlingModalComponent } from '@app/error-handling-modal/error-handling-modal.component';
@Injectable({
providedIn: 'root',
})
export class ErrorService {
constructor(private modal: NgbModal, private loggerService: LoggerService) {
}
// Errors
handleError(error: HttpErrorResponse): Observable<never> {
this.showModal(error.status);
return this.loggerService.handleError(error);
}
public showModal(code: number) {
if ([401, 403, 500].includes(code)) {
console.log(this.modal);
const ngbModalOptions: NgbModalOptions = {
backdrop: 'static',
keyboard: false,
};
const modalRef = this.modal.open(
ErrorHandlingModalComponent,
ngbModalOptions
);
this.updateModal(code, modalRef);
}
}
public updateModal(code: number, modal: NgbModalRef) {...nothing important here...}
Самое смешное, что когда я использую тот же лог c из showModal(...)
в компоненте, он работает! не уверен, почему он не подходит для этой службы ..
Это ошибка, которую я получаю в консоли:
Спасибо за вашу помощь :)