当用户未登录(在公共视图上(时,我在隐藏导航栏时遇到问题,我检查 localStorage 上是否存在当前用户项目,然后我使用*ngIf 在 html 模板上显示/隐藏。
当我第一次登录时,我没有看到导航栏,但是刷新页面后它显示,当我注销时也是如此,起初它会显示它,刷新页面后它就消失了。
有我的app.component.ts
import { Component, OnInit } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'app',
templateUrl: 'app.component.html'
})
export class AppComponent implements OnInit {
userLogged = JSON.parse(localStorage.getItem('currentUser'));
ngOnInit() {
console.log(this.userLogged);
}
}
还有我的app.component.html
<!-- main app container -->
<div class="jumbotron">
<div class="container">
<ng-navbar *ngIf="userLogged"></ng-navbar>
<div class="col-sm-12">
<alert></alert>
<router-outlet></router-outlet>
</div>
</div>
</div>
如果您需要更多信息,请询问它,这是我的第一个 Angularjs 4 问题,我不知道该显示什么。
试试这个:
<ng-navbar *ngIf="userLogged()"></ng-navbar>
userLogged() { return JSON.parse(localStorage.getItem('currentUser')) };