我正在为Angular应用实现登录功能。 当用户尝试登录时,我会将其路由到登录组件,如下所示:
this.router.navigate(['login'], {
queryParams: {
return: this.url
}
});
当他们登录时,它将返回他们所在的页面。
此方法适用于应用中的位置,例如:
http://localhost:4200/category/Americana
当我进入登录页面时,URL如下:
http://localhost:4200/login?return=%2Fcategory%2FAmericana
它正确返回到:
http://localhost:4200/category/Americana
但是,当我尝试使用如下查询参数从路由登录时:
http://localhost:4200/categories/0?nav=All
登录页面如下:
http://localhost:4200/login?return=%2Fcategories%2F0%3Fnav%3DAll
但是返回的页面如下:
http://localhost:4200/categories/0%3Fnav%3DAll
因此,当我尝试从路线中获取参数时,它们为空,因为它已在路线导航中被混搭。
如何使返回功能适用于查询参数?谢谢-我是这个路由的新手-轻松一点:)
答案 0 :(得分:0)
此问题已通过J. Pinxter的评论所建议的
进行了修复this.router.navigateByUrl('categories/0?nav=All')