通过清除路由历史记录返回首页是我的要求
我尝试使用以下代码。但是下面显示的所有代码都不符合我的要求。
this.router.navigate(['/services/paymentProcessing'], { skipLocationChange: true });
ngOnDestroy(): void {
window.history.go(-4);
this.location.back();
this.router.navigate(['/services/#SH']);
}
我需要通过清除路由历史记录从特定页面返回首页/特定页面。谁能让我知道解决方法
答案 0 :(得分:0)
通过参考this SO answer和How to Detect Browser Back Button event - Cross Browser的答案,我希望让您知道上述任务的解决方案。
要返回特定页面,只需跳过当前页面即可使用代码
this.router.navigate(["/C"], { replaceUrl: true });
如斯塔克·巴托夫斯基先生所说
然后,如果您希望停留在当前页面(在我的情况下为HomePage)而不清除历史记录,
import { Location } from "@angular/common";
constructor(public location: Location){}
ngOnDestroy(): void {
this.location.subscribe(
x=> history.pushState(null, null, window.location.pathname)
);
}
以便您可以阻止后退按钮导航。
如果有的话,还有更好的代码行,请期待。
寻找答案,比上面的要好