在将export function Right(...args){
return prepareInstance(RightInstanceMethods,RightStaticMethods)(...args)
}
与查询字符串一起使用时,我在角度4应用程序中遇到了角度路由器的一些问题。
所以我的路线指定如下:
returnUrl
在我的const routes: Routes = [
{
path: '',
component: HomeComponent,
canActivate: [AccessibilityGuard],
canActivateChild: [AccessibilityGuard],
children: [
{
path: 'info',
component: InfoComponent,
children: [
{
path: 'xpto/graphic',
component: XptoGraphicComponent,
},
]
},
...
];
}];
内,我有以下内容:
AccessibilityGuard
因此,考虑到我尝试导航到...
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
const token = CookieHelper.getCookie('accessToken');
if(token == null || token == '') {
this.router.navigate(['login']);
return false;
}
...
}
的特定页面,我的网址可能类似于:XptoGraphicComponent
。
如果我的http://localhost:4200/info/xpto/graphic?a=1&b=2&c=3
找不到accessToken,它会将我重定向到登录页面。在那之后,我的网址将是:AccessibilityGuard
。
登录后,重定向不起作用,我在浏览器控制台上收到以下错误:
http://localhost:4200/login?returnUrl=/info/xpto/graphic?a=1&b=2&c=3
只有当我的网址中包含查询参数以及Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'info/xpto/graphic?a=1&b=2&c=3'
时,才会出现此问题。
关于如何解决这个问题的任何想法?提前谢谢!