繁体   English   中英

Angular路由器如何清除导航历史

[英]How to clear navigation history in Angular router

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

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

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

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

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

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

或者,如果您只想将历史记录中的当前 state 替换为新的:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM