Разыскиваемое поведение:
Перейдите к /article/123
и, если статья не существует, ArticleResolver обрабатывает ошибку и переходит к ErrorComponent this.router.navigate(['error'], { skipLocationChange: true })
, сохраняя /article/123
url.
Что происходит:
/article/123
не сохраняется. Вместо этого я получаю предыдущий URL. Похоже, что URL /article/123
никогда не отправляется в историю маршрутизатора.
Мой код:
resolve(
route: ActivatedRouteSnapshot,
state: RouterStateSnapshot
): Observable<any> {
return this.articleService.get(route.params['id'])
.pipe(catchError((err) => {
if (err.StatusCode === 500) {
this.router.navigate(['error'], { skipLocationChange: true });
return of(false);
}
return of(null);
}
));
}