的HTML
<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);
}
});
控制台正确记录了true和false值,因此
var isLoggedIn
正确更改,但是* ngIf始终保持隐藏状态。 最佳答案
看起来您在isLoggedIn
和if
块中重新声明了else
。而是应分别将其设置为this.isLoggedin = true
和this.isLoggedin = false
。
关于javascript - Angular2 * ngIf无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43194885/