Как использовать перехватчик с routeLink для возврата к URL-адресу состояния и сохранения / предварительного заполнения данных формы? - PullRequest
0 голосов
/ 06 марта 2019

При использовании HttpInterceptor и ошибке 403 я обновляю токен и возвращаюсь к предыдущему состоянию / маршрутизатору.Эта концепция прекрасно работает до этого момента.

Проблема в том, что (предыдущее) URL-состояние страницы / компонента с полями формы.Как я могу сохранить данные формы, когда перехватчик обнаруживает ошибку 403 и возвращается в это url-состояние?

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
    const router = this.injector.get(Router);

    return next.handle(request)
    .pipe(
        catchError((error: HttpErrorResponse) => {
            if ( error instanceof HttpErrorResponse ) {
                if ( error.status === 403 ) {
                    .....
                    router.navigate([ this.activatedRoute.snapshot['_routerState'].url ]);
                }
            }
            if (error.error instanceof ErrorEvent) {
                ....
            }
            return throwError(errMsg);
        })
    );
}
...