Javascript angular 2检查要重定向的本地存储
当用户强制转到像/dashboard这样的链接时,试图重定向用户,它应该检查localStorage是否为空,然后返回主页 如果不在函数中,似乎无法执行var checkStorage,我会执行函数,但不确定如何自动启动它 猜测初始化函数是ngOnInit,类似于angular 1中的init(){}Javascript angular 2检查要重定向的本地存储,javascript,angularjs,Javascript,Angularjs,当用户强制转到像/dashboard这样的链接时,试图重定向用户,它应该检查localStorage是否为空,然后返回主页 如果不在函数中,似乎无法执行var checkStorage,我会执行函数,但不确定如何自动启动它 猜测初始化函数是ngOnInit,类似于angular 1中的init(){} 导出类仪表板组件{ 构造函数(专用路由器:路由器){} var checkStorage=localStorage.getItem('username'); if(checkStorage=nu
导出类仪表板组件{
构造函数(专用路由器:路由器){}
var checkStorage=localStorage.getItem('username');
if(checkStorage=null){
this.router.navigate(['/']);
}
logoutAction(){
if(localStorage.getItem('username')!=null){
localStorage.removietem('username');
this.router.navigate(['/']);
}
}
}
如果您希望在登录前阻止访问,则该方式会显示:
让后端为我们工作
我不确定您使用的是什么后端,但我记得当我还是一名PHP开发人员时,我们在CodeIgniter框架中有一个函数,在没有cookie时重定向
如果您想使用Angular 2限制这一点(还不用于生产,请记住!),您的代码看起来不错,但我发现了一个错误:
var checkStorage = localStorage.getItem('username');
if(checkStorage == null) {
this.router.navigate(['/']);
}
使用双等号进行比较
如果您想在init上执行它,我想这可以帮助您
祝你好运和快乐 你是在要求一个角度2的方法来表示
ngInit
?是的,我想,就像在角度1中有init(){}然后是init();在控制器的底部初始化函数。那么,是的,我怎样才能对函数进行同样的初始化。而且。。。加载事件怎么样?还没有使用任何后端,只是全部虚拟。我将设置一个cookie,但只是玩localStorage atm。如果我将代码包装到一个函数中,我设法检查了localStorage,所以我尝试了ngOnInit(),它工作得很好。但是如果其他人知道正确的方法,那么请分享。如果有效,那就是正确的方法。Angular有很多定义“正确方式”的样式指南,只需选择您喜欢的样式即可。托德的座右铭是一个很好的起点。查看我的原始帖子,我编辑了它,并使用ngOnInit包含了我的答案。是的,我知道如果它有效的话,它也会有效的,但我正在努力找到一种更好/更有效的方法。将检查托德的座右铭。