来自 sessionStorage 的令牌在 app.component.html 中为空
Token from sessionStorage is null in app.component.html
我正在尝试使用以下代码
检查 app.component 中是否存在令牌
app.component.html
<div class="container-scroller">
<div *ngIf="token">
<app-navbar></app-navbar>
<div class="container-fluid page-body-wrapper">
<app-sidebar></app-sidebar>
<div class="main-panel">
<div class="content-wrapper">
<router-outlet></router-outlet>
</div>
<app-footer></app-footer>
</div>
</div>
</div>
<div *ngIf="token==null">
<app-login></app-login>
</div>
</div>
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'star-admin-angular';
ngOnInit() {
let token = sessionStorage.getItem('token');
}
}
当我使用ts文件调试时,令牌不为空。但在 html 文件中,令牌似乎为空,因为即使有令牌,登录页面也始终显示。
因为您没有将 token
声明为 AppComponent
class 的成员。它只是 ngOnInit(){}
范围内的一个 let
变量。你应该写:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'star-admin-angular';
token? : any = undefined;
ngOnInit() {
this.token = sessionStorage.getItem('token');
}
}
我正在尝试使用以下代码
检查 app.component 中是否存在令牌app.component.html
<div class="container-scroller">
<div *ngIf="token">
<app-navbar></app-navbar>
<div class="container-fluid page-body-wrapper">
<app-sidebar></app-sidebar>
<div class="main-panel">
<div class="content-wrapper">
<router-outlet></router-outlet>
</div>
<app-footer></app-footer>
</div>
</div>
</div>
<div *ngIf="token==null">
<app-login></app-login>
</div>
</div>
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'star-admin-angular';
ngOnInit() {
let token = sessionStorage.getItem('token');
}
}
当我使用ts文件调试时,令牌不为空。但在 html 文件中,令牌似乎为空,因为即使有令牌,登录页面也始终显示。
因为您没有将 token
声明为 AppComponent
class 的成员。它只是 ngOnInit(){}
范围内的一个 let
变量。你应该写:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'star-admin-angular';
token? : any = undefined;
ngOnInit() {
this.token = sessionStorage.getItem('token');
}
}