#javascript #angular #typescript
Вопрос:
У меня запущено приложение Angular 9, и в соответствии с правильной реализацией, если возникает какое-либо необработанное исключение, я перенаправляю на страницу ошибок.
@Injectable()
export class CustomErrorHandler implements ErrorHandler {
handleError(errorObj) {
router.navigate(['/error'], { queryParams: { error: JSON.stringify(errorDetails) } })
}
}
Я использую класс ErrorHandler и хочу отобразить страницу с ошибкой в виде наложения , где страница с ошибкой будет отображаться поверх текущей страницы, а в фоновом режиме текущая страница все равно должна отображаться.
Комментарии:
1. Это звучит так, как будто вы хотите отобразить модальный, а не маршрут по другому URL-адресу.
2. да, как я могу это сделать?..
3. Я бы предложил вам поискать «Показать модальное в угловом»
Ответ №1:
Я рекомендую вам использовать диалог из углового материала
Импорт:
import { MatDialog } from '@angular/material';
Конструктор:
constructor(
private dialog: MatDialog,
) { }
Функция отображения диалогового окна:
error() {
const dialogRef = this.dialog.open(CustomErrorHandler, {
width: '70%', // Make this as big as you want
data: { error: this.errorType } //Put here the data you want to display one the error page. If you dont need it just delete the line and the ,
});
}
Более подробную информацию вы можете найти здесь