6
我试图通过使用可观察到的在我的模板可观察:使用的模板
<md-nav-list>
<a md-list-item *ngIf="!isAuth() | async" [routerLink]="['login']" (click)="sidenav.toggle()">Login</a>
<a md-list-item *ngIf="isAuth() | async" (click)="logout()" (click)="sidenav.toggle()">Logout</a>
</md-nav-list>
和我的模块中:
isAuth(): Observable<boolean> {
return this.loginservice.getAuthenticated()
.map(user => { if(user){
if(user.hasOwnProperty('uid')){
return true;
} else {
return false;
}
} else {
return false;
}
})
}
所以我的问题:
,如果我的loggedIn并可观察返回true - >酷我的菜单项出现
但如果observable返回false - >我的菜单是emp ty - >最新错误?
奈斯利解释+1,但他怎么能处理完全相反案件? –
关于第一个问题,你应该解释如何用圆括号修正它。 – StriplingWarrior
@StriplingWarrior当然,如果你的意思是这个'!(isAuth()| async)',当然很容易,但是我不认为在同一个observable上订阅两次是一个好主意。我会在组件级别订阅它,而不是... – smnbbrv