我使用typescript创建了带角度为2的路由的auth app。现在,我的任务已停用在浏览器中的后退按钮,从localhost/form1
到localhost/login
;怎么实现这个?
答案 0 :(得分:1)
您无法阻止后退按钮,因为它是浏览器行为。你可以做的是创建一个保护来处理每个请求,如果请求是加载/登录并且用户已经被记录,只需重定向到上一页。
答案 1 :(得分:0)
我在我的角度cordova应用程序中解决了这个问题,以防止app退出如下。与大多数评论相反,我发现我必须使用"文件"对象而不是"窗口"捕获后退按钮事件的对象
// Prevent from exiting app by hook into document backbutton
@HostListener('document:backbutton', ['$event'])
onPopState(event) {
alert('Start page');
}
组件中的用法
import { Component, HostListener } from '@angular/core';
export class myComponent {
constructor() {}
// Prevent from exiting app by hook into document backbutton
@HostListener('document:backbutton', ['$event'])
onPopState(event) {
alert('Start page');
}
}
答案 2 :(得分:-1)
第1步:从角色commmon导入Locatoion
import {Location} from "@angular/common";
第2步:在构造函数中初始化
private commonService: CommonService
步骤3:在相应组件的ngOnInit中添加功能
this.location.subscribe(currentLocation => {
if (currentLocation.url === '*/basic-info*') {
window.onpopstate = function (event) {
history.go(1);
}
}
});
注意:此处 / basic-info 将替换为您的路径。
如果第一次无效,请尝试添加外部订阅
let currentUrl = window.location.href;
let tmpVar = currentUrl.includes('/basic-info');
if (currentUrl.includes('/basic-info')) {
window.onpopstate = function (event) {
history.go(1);
}
}