La tubería asíncrona no funciona con el sujeto
Tengo el siguiente BehaviorSubject en un servicio:
isAuthenticated = new BehaviorSubject<boolean>(false);
Y lo estoy usando de la siguiente manera en un componente:
authenticated: Observable<boolean>;
constructor(private accountService: AccountService) { }
ngOnInit() {
this.authenticated = this.accountService.isAuthenticated.asObservable();
}
Y en la plantilla hago algo como:
<li class="login-button" *ngIf="!authenticated | async">
<a (click)="authenticate()">Log in</a>
</li>
<li *ngIf="authenticated | async">
<a>Logged in</a>
</li>
El problema es que no veo ninguno de los dosli
, aunque se supone que el primero debería aparecer ya que estoy asignando el valor inicial del Sujeto a falso.
¿Qué estoy haciendo mal?