我正在创建角度为6的重定向
重定向本身非常简单,它的工作原理如下
从参数中获取目标网址:
this.returnUrl = this.route.snapshot.queryParams['route'] || '/';
重定向
if (this.returnUrl) {
this.router.navigate([this.returnUrl]);
} else {
this.router.navigate(['/']);
}
URL中包含参数时出现的问题,例如:
重定向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]
}
答案 0 :(得分:1)
使用 navigateByUrl 方法:
if (this.returnUrl) {
this.router.navigateByUrl(this.returnUrl);
} else {
this.router.navigateByUrl('/');
}