我用angularfire2和rxjs 6创建了一个新的angular6项目。我正在调试要加载可观察对象时显示的加载栏。
我的ts代码:
import { combineLatest, Observable } from 'rxjs';
groups: Observable<Array<any>>;
singles: Observable<Array<any>>;
combined: Observable<Object>;
public loadall()
{
this.groups= this.db.collection('groups').valueChanges();
this.singles= this.db.collection('singles').valueChanges();
this.combined = combineLatest(this.groups, this.singles);
//took this from https://auth0.com/blog/whats-new-in-rxjs-6/
}
我的html模板:
<ng-template #loading>
<div class="loader"></div>
</ng-template>
<div *ngIf="combined | async; else loading"> //this div
<div *ngFor="let group of groups | async">
{{ group.name }}
<div *ngFor="let single of singles | async">
{{ single.name }}
</div>
</div>
</div>
当前没有// div括号,将显示输出。但是,使用// div括号,将不会显示输出。
在以前的rxjs版本中,我使用了:
this.combined = Observable.combineLatest(query$);
这有效。所以我觉得我的CombineLatest运算符的实现是错误的。感谢进一步调试的帮助。