(Angular 2+) Попытка установить var ngOnInit () на основе sessionStorage, но не определена после загрузки страницы - PullRequest
0 голосов
/ 02 июня 2018

У меня есть проект 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;
      }
    });

Пожалуйста, кто-нибудь может мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...