Javascript 使用依赖异步函数的ngif的正确方法

Javascript 使用依赖异步函数的ngif的正确方法,javascript,angular,angular-ng-if,Javascript,Angular,Angular Ng If,我有一个navbar,它在app.comont.html <app-navbar></app-navbar> <div class="container"> <flash-messages></flash-messages> <router-outlet></router-outlet> </div> 导航栏: 还尝试添加| async 我尝试设置一个变量onInit,该变量断言变量为t

我有一个
navbar
,它在
app.comont.html

<app-navbar></app-navbar>
<div class="container">
  <flash-messages></flash-messages>
  <router-outlet></router-outlet>
</div>
导航栏:


还尝试添加
| async

我尝试设置一个变量
onInit
,该变量断言变量为true或false,然后让
ngIf
使用该变量

但它不会以这种方式更新,只是停留在错误上


如何解决这个问题?

如果您想这样做,则在将
authService
注入构造函数时,应该将其声明为
public
。已经是这样了吗?我两个都试过了,都没有成功
loggedIn() {
    return this.http.get('http://localhost:3000/users/validateToken')
      .map(res => res.json()).map(data => data.success);
  }
<li *ngIf="authService.loggedIn()">