我正在为项目使用Angular 6。我需要限制用户单击浏览器中的后退按钮,而改为显示警报消息。
答案 0 :(得分:1)
您需要编写一个类来实现用于处理事件的“ CanDeactivate”接口。尝试在后退按钮事件中使用 location.go()重定向到活动URL本身。
location.go('getTheCurrentPathToRedirect');
类似下面的内容:
export class CanDeactivateBack implements CanDeactivate<any> {
constructor(public location: Location, public router: Router) {}
canDeactivate(component: any, currentRoute: ActivatedRouteSnapshot): boolean {
//YourConditionIfBackButttonPress - check for the history back click
if (YourConditionIfBackButttonPress) {
let urlPath = this.router.createUrlTree([], currentRoute);
let curUrlPath = urlPath.toString();
this.location.go(curUrlPath);
return false;
} else {
return true;
}
}
}
我还没有运行上面的代码。它只是一个想法,因此您可以从开始。我稍后检查并更新。