这是我的 widgetquery.ts
@Injectable({ providedIn: 'root' })
export class WidgetQuery extends QueryEntity<WidgetState, WidgetTO> {
public Widget$: Observable<WidgetTO> = this.selectActive().filter(k => !!k);
public WidgetHistorikk$: Observable<WidgetTO[]> = this.selectAll({sortBy: 'WidgetId', sortByOrder: Order.DESC}).filter(k => !!k);
constructor(protected store: WidgetStore) {
super(store);
}
}
在前端我使用 *ngIf 像这样:
<ng-container *ngIf="widgetHistorikk$ | async"> ... </ng-container>
我组件中的构造函数调用此函数,从服务调用中获取小部件(服务调用成功...)
private fetchWidgetHistorikk() {
this.WidgetService.getWidgetHistorikk().filter(h => !!h).subscribe(liste => {
this.WidgetStore.add(liste);
});
}
[ ]
但是 selectAll 查询在返回真实数据之前返回一个空列表[ widget1, widget2 ]
。
所以我得到一个空列表,然后是真实数据(填充列表)。
我不想要首先出现的空列表(即使真实数据有时可能是空列表)......
为什么我从秋田得到第一个空列表?
我可以使用某种“标志”或“初始化状态”来告诉秋田:在我的服务调用完成之前不要从查询中返回数据,并通过此行将数据添加到存储中this.WidgetStore.add(liste);
?