1
親コンポーネントngOnit方法observableを使って新しいリクエストを行う前に、前のhttpリクエストのデータを保存するには?
this.statisticsService.getData().subscribe(data =>
this.processData(data));
processData(data: DataWrapper) {
if (!isNullOrUndefined(data) && data.table.rows.length > 1) {
this.noDataAvailableFlag = false;
this._statisticsData.next(data);
} else { // If no data available from backend
console.log('no data available');
this.handleNoDataAvailable();
}
}
テンプレート
<div *ngIf="isDataAvailable" class="table-box clearfix default-style [ngClass]="backgroundColour">
<div [hidden] ="!noDataAvailableFlag">
<span class="no-data-message">{{'DETAILS.No_Data_Available' | translate}}</span>
</div>
<div [hidden] ="noDataAvailableFlag" detail-table [_statisticsData]="statisticsData" [maximiser]="maximiser" [queryParams]="filterService.getFullQueryParams()"
(onVariationClicked$)="onVariationClicked($event)"></div>
<div [hidden] ="noDataAvailableFlag" class="graph-holder clearfix" [ngClass]="{'opened': maximiser.isMaximised}" detail-graph
[_statisticsData]="statisticsData"
[tableVariation]="selectedVariationTitle"></div>
子コンポーネント。
ngOnInit() {
this.windowWidth = window.innerWidth;
this._statisticsData.subscribe(data => {
if (!isNullOrUndefined(data)) {
this.processData(data);
}
});
}
データがない場合は、テーブルをクリアしません。以前のリクエストのデータを表に残しておきたい。私はこの回避策をどのようにすることができます示唆してください。フィルタは何のためにあるのかだ
または '.filter(ブール値)' ... – Sasxa
おかげ.ITが働いていました。 – Shikha