应用程序将收到来自身份验证提供程序的重定向,但URL中没有哈希。
我需要重定向参数 http://host/?param1=123 以 http://host/#/login?param1=123
如何为此配置路由?
{ path: '', redirectTo: '/login', pathMatch: 'full'},
{ path: 'login', component: LoginComponent },
答案 0 :(得分:0)
是否必须在路径内完成?
以编程方式,我可以像这样获得参数供参考:
this.parameters = Object.assign({}, this.route.snapshot.parent.queryParams);
现在,您可以使用this.parameters
进行重定向,或在navigate
queryParams
参数中构建它们
this.router.navigate(['/profile/3'], { queryParams: { position: pos, 'salary': 'expensive' } }); // add .then(() => {}) for promise
用于重定向
this.router.navigate(['login'], { preserveQueryParams: true });
模板HTML路由
<a [routerLink]="['/profile/3']" [queryParams]="{position:'boss', 'salary': 'expensive' }">
如果您需要更多,请告诉我,我会为您提供帮助。
答案 1 :(得分:0)
使用当前的角路线配置redirectTo
功能是不可能的。
您可以做的是编写一个[CanActivate]
保护,将其放在空路由''
上,然后在保护内部将用户重定向到/login
并使用{{1}保留查询参数}或从警卫队返回Router
。
例如,在警卫队内部可能看起来像(使用UrlTree
):
Router
希望有帮助。