Tôi cố gắng để sử dụng một thể quan sát được trong mẫu của tôi bằng cách:Sử dụng quan sát ở Template
<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>
và trong mô-đun của tôi:
isAuth(): Observable<boolean> {
return this.loginservice.getAuthenticated()
.map(user => { if(user){
if(user.hasOwnProperty('uid')){
return true;
} else {
return false;
}
} else {
return false;
}
})
}
Vì vậy, vấn đề của tôi:
nếu tôi loggedin và trả về đúng -> làm mát mục trình đơn của tôi xuất hiện
nhưng nếu quan sát được trả về false -> trình đơn của tôi là emp ty -> có chuyện gì vậy?
Nicely giải thích +1, nhưng làm thế nào ông có thể xử lý hoàn toàn ngược lại trường hợp? –
Về vấn đề đầu tiên, bạn nên giải thích làm thế nào nó có thể được cố định bằng dấu ngoặc đơn. – StriplingWarrior
@StriplingWarrior tốt đó là tất nhiên dễ dàng nếu bạn có nghĩa là này '! (IsAuth() | async)', tuy nhiên tôi không nghĩ rằng đăng ký hai lần trên cùng một quan sát là một ý tưởng tốt ở đây. Tôi sẽ đăng ký với nó ở cấp độ thành viên thay vì ... – smnbbrv