用新的Router v3 Angular2清除所有的queryParams

前端之家收集整理的这篇文章主要介绍了用新的Router v3 Angular2清除所有的queryParams前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找出如何使用具有查询参数的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>

猜你在找的Angularjs相关文章