如何清除 Angular 路由器中的导航历史记录

时间:2021-03-24 08:58:47

标签: angular

我有一个用例,我需要使用 angular router 清除导航历史记录(因此按下硬件后退按钮不会将我带到上一页而是主页)。 我一直在寻找一个简单的解决方案,但没有找到任何解决方案。 我有使用 nativescript 的建议,但我不想为这个要求增加我的包大小。 请告知我是否可以使用任何内置的角度功能?

2 个答案:

答案 0 :(得分:1)

我能够让它工作的唯一方法是使用 NavContoller

   this.nav.navigateRoot('/tabs/home');

这从堆栈中删除了所有页面并导航到主页

答案 1 :(得分:0)

您可以通过两种方式做到这一点。如果您不需要历史记录中的状态,那么您可以使用以下内容:

this.router.navigate([`/myPage/`], { relativeTo: this.route, skipLocationChange: true });

或者,如果您只想用新的历史记录替换当前状态:

this.router.navigate(['/home'], {replaceUrl: true});