2017-06-13 2 views
0

J'ai un problème pour masquer la barre de navigation lorsque l'utilisateur n'est pas connecté (sur les affichages publics), je vérifie si l'élément currentUser existe sur le localStorage et ensuite j'utilise * ngIf sur le modèle HTML à afficher/masquer. Lorsque je me connecte au début, je ne vois pas la barre de navigation, mais après l'actualisation de la page, elle s'affiche, la même chose quand je me déconnecte, au début, elle l'affiche et après avoir rafraîchi la page, elle est partie.Angularjs 4 - Besoin d'actualisation pour afficher/masquer la directive

Il est mon 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); 

    } 

} 

Et mon 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> 

Si vous avez besoin de plus amples informations il suffit de demander, est ma première question AngularJS 4 et je ne sais pas quoi montrer exactement.

Répondre

1

Essayez ceci:

<ng-navbar *ngIf="userLogged()"></ng-navbar> 

userLogged() { return JSON.parse(localStorage.getItem('currentUser')) }; 
+0

Oui ça marche, je vous remercie! :) – Troyer