Angular 2 路由器未正确导航查询参数
Angular 2 Router not navigating properly for query parameters
我正在为我的 Angular 应用程序实现登录功能。
当用户尝试登录时,我将他们路由到登录组件,如下所示:
this.router.navigate(['login'], {
queryParams: {
return: this.url
}
});
当他们登录时,return将他们转到他们所在的页面。
这适用于应用中的位置,例如:
http://localhost:4200/category/Americana
当我进入登录页面时,URL 看起来像:
http://localhost:4200/login?return=%2Fcategory%2FAmericana
它 return 正确地:
http://localhost:4200/category/Americana
但是,当我尝试使用如下查询参数从路由登录时:
http://localhost:4200/categories/0?nav=All
登录页面如下所示:
http://localhost:4200/login?return=%2Fcategories%2F0%3Fnav%3DAll
但是它转到的 return 页面看起来像这样:
http://localhost:4200/categories/0%3Fnav%3DAll
因此,当我尝试从路线获取参数时,它们是空白的,因为它已在路线导航中混搭。
如何使 return 功能适用于查询参数?谢谢 - 我是这个路由的新手 - 对我放轻松 :)
已按照 J. Pinxter 的评论建议使用
解决此问题
this.router.navigateByUrl('categories/0?nav=All')
我正在为我的 Angular 应用程序实现登录功能。 当用户尝试登录时,我将他们路由到登录组件,如下所示:
this.router.navigate(['login'], {
queryParams: {
return: this.url
}
});
当他们登录时,return将他们转到他们所在的页面。
这适用于应用中的位置,例如:
http://localhost:4200/category/Americana
当我进入登录页面时,URL 看起来像:
http://localhost:4200/login?return=%2Fcategory%2FAmericana
它 return 正确地:
http://localhost:4200/category/Americana
但是,当我尝试使用如下查询参数从路由登录时:
http://localhost:4200/categories/0?nav=All
登录页面如下所示:
http://localhost:4200/login?return=%2Fcategories%2F0%3Fnav%3DAll
但是它转到的 return 页面看起来像这样:
http://localhost:4200/categories/0%3Fnav%3DAll
因此,当我尝试从路线获取参数时,它们是空白的,因为它已在路线导航中混搭。
如何使 return 功能适用于查询参数?谢谢 - 我是这个路由的新手 - 对我放轻松 :)
已按照 J. Pinxter 的评论建议使用
解决此问题this.router.navigateByUrl('categories/0?nav=All')