我正在Ionic 4中创建注销页面,我想要清除路由器历史记录,以便后退按钮不起作用,而且我想知道一旦导航到登录屏幕或导航之前如何销毁注销页面。到登录页面。
我尝试在Construction函数中运行代码以清除本地存储,并且一切正常,但是第一次没有运行该代码。据我了解,该页面已经加载,因此其不再运行Constructor函数。我尝试将代码放在ngDoCheck()上,但是它触发了多次,我不想这么做。
我想清除路由的历史记录,所以退出后后退按钮不起作用,而且我想知道如何清除或删除以前访问过的页面。
答案 0 :(得分:1)
您不能阻止用户单击返回或删除其历史记录,但是可以在登录页面中添加防护措施,以便用户登录后可以重定向用户。它应该类似于
@Injectable({
providedIn: 'root',
})
export class AuthGuard implements CanActivate {
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot) {
if(isUserLoggedIn()){ // this redirects the user
this.router.navigate(['/logged-in-users-area']);
}
return isUserLoggedIn(); // this prevents him from reaching the login page
}
}
const routes: Routes = [{
path: 'login',
component: MyLoginComponent,
canActivate: [AuthGuard],
}]
答案 1 :(得分:0)
注销时使用window.location.reload
window.location.reload();