TypeError: Невозможно прочитать свойство 'title' из null TypeError: Невозможно прочитать свойство 'title' из null - PullRequest
0 голосов
/ 30 сентября 2019

Я храню название и фамилию в токене. После расшифровки токена я не могу получить название и фамилию для отображения при входе в систему. Это дает мне ошибку "не могу прочитать заголовок свойства null". Любой введенный здесь код может помочь мне в этом вопросе.

import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { AuthService } from '../auth.service';
import * as jwt_decode from "jwt-decode";
import { tokenGetter } from '../app.module';


@Component({
  selector: 'app-admin-home',
  templateUrl: './admin-home.component.html',
  styleUrls: ['./admin-home.component.css']
})
export class AdminHomeComponent implements OnInit {
  token: any;

  title = this.getDecodedAccessToken(this.token).title;
  lastname = this.getDecodedAccessToken(this.token).lastname;
  // title = 'Herr';
  // lastname = 'Fioretto';
  constructor(
    private router : Router,
    private authService: AuthService
    ) { }

  ngOnInit() {
  }

  //Decoding token
  getDecodedAccessToken(token: string): any {
    console.log('in decode token function');
    try{
      let decodedToken = jwt_decode(token);
        console.log(decodedToken);
        return decodedToken;
      }
    catch(Error){
        return null;
    }
  }



  logout(){
    localStorage.removeItem('token');
    this.router.navigate(['./login']);
  }

  isLoggedIn()
  {
    console.log('in isloggedIn Function')
    if(this.authService.isAuthenticated())
      {
        this.router.navigate(['./admin-home']);
      }
    else
      {
        this.router.navigate(['./login']);
      }

  }


}

Ответы [ 2 ]

0 голосов
/ 30 сентября 2019

вы должны попробовать сделать это пустой строкой, и это не изменит стиль

title: string = '';
lastname: string = '';
ngOnInit() {
  this.title = this.getDecodedAccessToken(this.token).title;
  this.lastname = this.getDecodedAccessToken(this.token).lastname;
}
0 голосов
/ 30 сентября 2019

Методы лучше вызывать внутри ngOnInit.

title: string;
lastname: string;
ngOnInit() {
  title = this.getDecodedAccessToken(this.token).title;
  lastname = this.getDecodedAccessToken(this.token).lastname;
}

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