У меня есть проект Angular 2+, и я пытаюсь настроить свой userAuth var на использование значения localStorage.Он устанавливается нормально, но когда он проходит через ngOnInit (), он возвращает undefined.Итак ... вот код:
ngOnInit() {
this.authGuardService.userLogado.subscribe(
retorno => {
this.userAuth = retorno;
}
);
this.userAuth = JSON.parse(sessionStorage.getItem('Login_Infos'));
}
Когда я попытался отладить это выполнение, я заметил, что когда я нахожусь внутри onInit, мой "this.userAuth" имеет свое значение, но когда я продолжаю внутривыполнение, моя переменная снова становится неопределенной.
Служба, которая устанавливает элемент 'Login_Infos'.
AutenticarLogin(user: string, password: string) {
const retorno = this.RetornoMBS.filter (tabledata => {
if (user === tabledata.user && password === tabledata.password) {
this.userAuth.logado = true;
this.userAuth.user = user;
this.userAuth.permissoes = tabledata.permissoes;
sessionStorage.setItem('Login_Infos', JSON.stringify(this.userAuth));
this.route.navigate(['/']);
return true;
} else {
this.invalidLogin = true;
}
});
Пожалуйста, кто-нибудь может мне помочь?