我创建了一个AuthService,其中包括一个设置当前用户值的登录方法:
public static currentUser: User;
constructor() { }
login(name: string,psw: string): Promise<boolean> {
return new Promise((resolve,reject) => {
if (name == "admin" && psw == "admin") {
AuthService.currentUser =
{
name: name,role: 0,id: null
}
resolve(true);
}
else if (name == "user" && psw == "user") {
AuthService.currentUser =
{
name: name,role: 1,id: '123'
}
resolve(true);
}
else {
reject(false);
}
});
}
在登录页面ts中:
this.auth.login(this.user.name,this.user.psw).then(async success => {
if (success) {
this.navctr.navigateForward("/menu")
}
})
最后在菜单页面:
console.log(AuthService.currentUser)
当前用户的值在那里,但是每当我刷新页面时,当前用户的值就变得不确定
编辑: 我通过在用户登录成功期间使用ionic的内置本地存储功能存储值来解决了这个问题,
localStorage.setItem("username",AuthService.currentUser.name)
localStorage.getItem("username")