Перенаправление на URL с помощью queryParams - PullRequest
0 голосов
/ 04 сентября 2018

Я создаю редирект в угловых 6

Сам редирект очень прост, он работает так

получить URL назначения из параметров :

this.returnUrl = this.route.snapshot.queryParams['route'] || '/';

Перенаправление

if (this.returnUrl) {
  this.router.navigate([this.returnUrl]);
} else {
  this.router.navigate(['/']);
}

Проблема, с которой я сталкиваюсь, когда в URL есть параметры, например:

URL перенаправления is

'/survey/finish?key=7krmpqpC0P&mind=Akkoord&companyNumber=%5B%5BQ2%5D'

В результате я получаю ошибку

Error: Cannot match any routes. URL Segment: 'survey/finish%3Fkey%3D7krmpqpC0P&mind%3DAkkoord&companyNumber%3D%255B%255BQ2%255D'

Как правильно перенаправить на указанную строку ?

Итак http://localhost:4200/survey/finish?key=7krmpqpC0P&mind=Akkoord&companyNumber=%5B%5BQ2%5D

Мой маршрут выглядит как thid

  {
    path: 'survey/finish',
    component: CallbackComponent,
    canActivate: [AuthGuard]
  }

1 Ответ

0 голосов
/ 04 сентября 2018

использование navigateByUrl метод:

if (this.returnUrl) {
  this.router.navigateByUrl(this.returnUrl);
} else {
  this.router.navigateByUrl('/');
}
...