передать URL в URL в качестве параметра в angular

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