我有一个基于Angular 6的PWA。我正在使用“ @ angular / router”中的Router。当我按下浏览器中的“后退”按钮时,它会返回到浏览器路径中的上一条路线,然后立即返回到同一页面。
我尝试了以下代码(在TypeScript中)。实现此代码后,我可以返回到一个级别,但之后不能。例如。
A页-> B页-> C页
当我从C页按回来时,它会转到B页,但是当我从B页按回来时,它什么也没走。
setupWindowHistoryTricks() {
this.handleBackButton(true);
window.addEventListener('popstate', this.handleBackButton);
}
handleBackButton (init) {
var backPresses = 0;
var isAndroid = navigator.userAgent.toLowerCase().indexOf("android")
> -1;
var maxBackPresses = 2;
if (init !== true) {
if ( backPresses >= maxBackPresses) {
backPresses++;
window.history.back();
}
else {
window.history.pushState({}, '');
}
}
}
我希望当我在浏览器或电话上按回时,它应该返回到历史记录中的先前组件。