在Angular 2.0中导航到其他路线,我们可以使用route.navigate( [ 'routeName' ] )
。但此操作会将当前路径存储在浏览器历史记录中
在浏览器历史记录中替换当前路由并导航到新路由的方法是什么。
答案 0 :(得分:2)
请参阅:https://angular.io/docs/ts/latest/api/router/index/NavigationExtras-interface.html
您必须使用选项replaceUrl而不是skipLocationChange。它会将您发送到新的网址,但当前的网址将不会被保留,因此按下后将不会将您发回此页面。
this.router.navigate(['login'],{replaceUrl:true});
答案 1 :(得分:0)
您可以使用
navigateByUrl(url: string, _skipLocationChange?: boolean) : Promise<any>
或
navigateByInstruction(instruction: Instruction, _skipLocationChange?: boolean) : Promise<any>
在Router
上并将true
传递给_skipLocationChange
以达到此效果。
(虽然我没有尝试过,而且文档很模糊,但我认为这就是你要找的东西)
提示:新RC.1路由器尚不支持
答案 2 :(得分:0)
你可以尝试这个,它适用于Angular RC.1 +版本
this.router.navigate(['login'],{skipLocationChange:true});
这将导航到登录路由,而不是在浏览器历史记录中存储登录路由。