的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始终保持隐藏状态。

最佳答案

看起来您在isLoggedInif块中重新声明了else。而是应分别将其设置为this.isLoggedin = truethis.isLoggedin = false

关于javascript - Angular2 * ngIf无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43194885/

10-11 11:38