Angular 2 Router无法正确浏览查询参数

时间:2019-02-23 11:34:02

标签: angular angular-router

我正在为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

因此,当我尝试从路线中获取参数时,它们为空,因为它已在路线导航中被混搭。

如何使返回功能适用于查询参数?谢谢-我是这个路由的新手-轻松一点:)

1 个答案:

答案 0 :(得分:0)

此问题已通过J. Pinxter的评论所建议的

进行了修复
this.router.navigateByUrl('categories/0?nav=All')