javascript - Angularjs 4 - 需要刷新显示/隐藏指令

标签 javascript angularjs angularjs-ng-if

当用户未登录(在公共(public) View 上)时,我无法隐藏导航栏,我检查 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')) };

关于javascript - Angularjs 4 - 需要刷新显示/隐藏指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44516740/

相关文章:

angularjs - 如何使用 ng-if 实现在 angularJS 中检查空日期?

javascript - 是否可以读取另一个 url 的 dom 结构?

javascript - 如何检测字符串中的单位?

angularjs - 使用inject时如何在beforeEach中放置异步回调?

javascript - 根据 angularJS 中的条件显示链接

javascript - 为什么 ngif 忽略优先级?

Javascript 数组在回调循环中发生变化

javascript - 在 anchor 内对齐 div

javascript - AngularJS:如何与其他 Controller 共享作用域函数和变量

javascript - Angular js $注入(inject)器 :modulerr Failed to instantiate module with mangle