用其他路线替换当前路线

时间:2016-04-19 13:13:00

标签: angular angular-routing

在Angular 2.0中导航到其他路线,我们可以使用route.navigate( [ 'routeName' ] )。但此操作会将当前路径存储在浏览器历史记录中 在浏览器历史记录中替换当前路由并导航到新路由的方法是什么。

3 个答案:

答案 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});

这将导航到登录路由,而不是在浏览器历史记录中存储登录路由。