【问题标题】:Redirecting to a url with queryParams使用 queryParams 重定向到 url
【发布时间】:2019-02-09 10:07:47
【问题描述】:

我正在 Angular 6 中创建重定向

重定向本身非常简单,就像这样工作

从参数获取目标网址

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

重定向

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

当url中有参数时我遇到的问题,例如:

重定向网址

'/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

我的路线看起来像这样

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

【问题讨论】:

  • 我将其标记为duplicate of this question,因为问题相同,您可能会在原始问题中找到解决方案。如果您认为这不适合您的情况,请告诉我并解释原因。
  • 你的路线是什么样的?
  • 似乎有一个类似的解决方案 here 对我有用。

标签: angular typescript redirect routes


【解决方案1】:

使用 navigateByUrl 方法:

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

【讨论】:

  • 这是完美的解决方案 - 我想知道为什么这个线程被低估了;)
猜你喜欢
  • 1970-01-01
  • 2016-08-09
  • 1970-01-01
  • 1970-01-01
  • 2014-08-10
  • 1970-01-01
  • 1970-01-01
  • 2022-12-29
  • 1970-01-01
相关资源
最近更新 更多