我试图找出如何使用具有查询参数的Angular2路由器导航(路由器3.0.0-alpha.7).
我可以轻松地导航到具有以下行的queryParam的路线:
this._router.navigate(['/login'],{queryParams: {redirect: 'route1'}});
在’/ login’组件中,我做一些登录,将重定向到重定向路由,即route1.然而,在重定向之后,重定向查询参数保留在URL中,即我现在在page / route1?redirect = route1.我想在这里删除重定向参数.
此外,如果我然后导航到具有相同重定向queryParam的另一个页面,它不会覆盖之前的一个页面,但在URL中添加另一个?redirect = ….即:
this._router.navigate(['/another-route'],{queryParams: {redirect:'route2'}});
导致我到/ another-route?redirect = route2?redirect = route1
在路由之间导航时可以清除queryParams吗?
我试过这个._router.navigate([‘/ route1’],{queryParams:{redirect:null}})或{queryParams:null}等等,但没有成功.
我也努力争取到这一点.您将期望路由器在导航到另一个路由时默认清除查询参数
你也可以做
this._router.navigate(['/route1'],{queryParams: {}});
要么
this._router.navigateByUrl('/route1');
或使用routerLink时:
<a [routerLink]="['/applications']" [queryParams]="{}"> Applications</a>