#angular
#angular
Вопрос:
Я создаю страницу 404, и я хотел бы, чтобы меня перенаправляли в другое место в зависимости от того, где находился пользователь.
Я создал маршрут в своем маршрутизаторе, который выглядит следующим образом :
{
path: 'not-found/:backTo,
component: NotFoundComponent,
},
в моем коде я делаю
this.router.navigate(
[
'not-found',
this.router.serializeUrl(
this.router.createUrlTree(
['new', 'url', 'for', 'redirect']
)
),
],
{ skipLocationChange: true }
)
итак, похоже, перейдите к this.router.navigate(["not-found", "/new/url/for/redirect"])
проблема в том, что я никогда не захожу на свою страницу 404, которая работала до того, как я попробовал это.
Я предполагаю, что я делаю неправильно, потому что URL-адрес странный, и он должен быть похож
not-found?backTo='new/url/for/redirect'
но мне не удается это сделать и работать с угловой маршрутизацией.
Ответ №1:
Я бы сделал что-нибудь с параметрами запроса:
currentUrl = this.router.url;
this.router.navigate( ['not-found'], { queryParams: { previousUrl: currentUrl}});