Я пытаюсь реализовать обработчик ошибок, используя Angular 5.0.0.
В обработчике ошибок, реализующем интерфейс ErrorHandler
, я изменяю текущий маршрут на маршрут компонента ошибки:
router.navigate(['/error'], {queryParams: errorWithContextInfo});
URL-адрес в панели браузера изменяется, отображается HTML-код компонента, вызывается constructor
, не вызывается onInit
, переменные-члены не доступны в представлении (всегда пустые, даже если они общедоступны и имеют значение по умолчанию).
Затем, когда я нажимаю F5, маршрут ошибки загружается правильно, все переменные-члены, измененные в конструкторе на ловушке onInit, становятся доступными в представлении, как и ожидалось.
Как я могу исправить это поведение?
(queryParams должен быть доступен в представлении компонента сразу после навигации).