Как перейти на страницу с ошибкой, не покидая текущую страницу в Angular

#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 ,
 });
}
 

Более подробную информацию вы можете найти здесь