2017-04-03 12 views
0

HTMLAngular2 * ngIfは

<li class="nav-item"> 
    <a class="nav-link" routerLink="/register" *ngIf="isLoggedIn">Register</a> 
</li> 

JS正常に動作していない:

var auth = this.af.auth.subscribe((user) => { 
     if (user) { 
     // User signed in! 
     var uid = user; 
     var isLoggedIn = true; 
     console.log(uid) 
     console.log(isLoggedIn); 
     } else { 
     // User logged out 
     console.log("no user") 
     var isLoggedIn = false; 
     console.log(isLoggedIn); 
     } 
    }); 

コンソールがそうvar isLoggedInが正しく変更され、正しく真と偽の値をログに記録されますが、* ngIfが隠されたままどんなものでも。

答えて

5

あなたのisLoggedInifelseブロックに再宣告しているようです。代わりにthis.isLoggedin = truethis.isLoggedin = falseのように設定する必要があります。

+0

このメソッドを使用すると、「プロパティisLoggedInがタイプ 'Component'に存在しません」というエラーが表示されます。 –

+0

コンポーネントに変数を宣言していませんか?テンプレートで使用する前に、 'component'の中でこの' isLoggedIn:boolean; 'のように宣言し、' this.isLoggedIn = falseのように 'コンストラクタ'の中でデフォルト値に 'false'を設定する必要があります' – Panther

+0

はい、申し訳ありません。それは欠けている部分だった。ありがとうございました。 –

関連する問題