gpt4 book ai didi

javascript - angular 2 检查 localStorage 重定向

转载 作者:行者123 更新时间:2023-11-30 00:06:40 25 4
gpt4 key购买 nike

当用户强制转到/dashboard 之类的链接时尝试重定向用户,它应该检查 localStorage 是否为空基本上返回主页。

如果不在函数中,似乎无法执行 var checkStorage,我会执行一个函数,但不确定如何自动启动它。

猜测初始化一个函数是ngOnInit,类似于angular 1中的init(){}?

export class DashboardComponent {
constructor(private router: Router) {}

var checkStorage = localStorage.getItem('username');
if(checkStorage = null) {
this.router.navigate(['/']);
}

logoutAction (){
if(localStorage.getItem('username') != null){
localStorage.removeItem('username');
this.router.navigate(['/']);
}
}
}

我找到了答案,但如果有更好的方法请分享。

ngOnInit () {
this.checkStorage();
}

checkStorage() {
var checkStorage = localStorage.getItem('username');
if(!checkStorage) {
this.router.navigate(['']);
}
}

最佳答案

如果你想在登录之前阻止访问,Angular 的方式是这样说的:

Let the backend works for us.

我不确定你为此使用什么后端,但我记得当我还是一名 PHP 开发人员时,我们在 CodeIgniter Framework 中有一个函数可以在没有 cookie 时重定向。

如果你想使用 Angular 2 来限制它(还没有用于生产,记住!),你的代码看起来不错,但我发现了一个错误:

var checkStorage = localStorage.getItem('username');
if(checkStorage == null) {
this.router.navigate(['/']);
}

使用 double 比较。

如果你想在 init 上执行它,我想这可以帮助你。

Converting Angular 1 to Angular 2 ngInit function

祝你好运,编码愉快!

关于javascript - angular 2 检查 localStorage 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38243392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com