私は観測可能なオブジェクト配列をクリアします。私がしたこと:Observableをクリアする方法<Array[]> Angular?
private pages: Observable<CustomPage[]>;
//clear
this.pages.map(p => p = []);
マッピングなしでこれを行う直接観察可能なメソッド(rxjs)はありますか?
私は観測可能なオブジェクト配列をクリアします。私がしたこと:Observableをクリアする方法<Array[]> Angular?
private pages: Observable<CustomPage[]>;
//clear
this.pages.map(p => p = []);
マッピングなしでこれを行う直接観察可能なメソッド(rxjs)はありますか?
ヒーローズチュートリアルのツアーから来ている場合は、そこに表示されるかなり基本的なサービスによって理解が制限されることがあります。ここで何をしたいんより完全に肉付けサービスの迅速なスケッチが
export class PageService {
private _pages = new ReplaySubject<CustomPage[]>(1);
private _dateFilter = new ReplaySubject<DateFilterCriteria>(1);
//Subscribe to this in your component
get pages(): Observable<CustomPage[]> {
return this._pages;
}
//Use this if you want to display the currently selected date
//filter somewhere (e.g. on your date filter control)
get dateFilter(): Observable<DateFilterCriteria> {
return this._dateFilter;
}
//PageAccess encapsulates requests against the Http service
constructor(private pageAccess: PageAccess) {
this._dateFilter.subscribe(dateFilter => this.fetchPages(dateFilter));
this.setNewDateFilter(null);
}
//Clears out the current list of pages, issues a new request
//for pages
private fetchPages(dateFilter: DateFilter) {
this._pages.next([]);
this.pageAccess.fetchPages(dateFilter).subscribe(pages => {
this._pages.next(pages);
});
}
//When your date filter control changes it should call this
//method
setNewDateFilter(dateFilter: DateFilter) {
this._dateFilter.next(dateFilter);
}
}
はまた、私は私はあなたがページの日付何を示すのに使用するいくつかのクラスを表すために互換DateFilter
とDateFilterCriteria
を使用したと思われる...ですあなたは欲しい。
素晴らしいまさに私が欲しいものです。 – Maddy
https://stackoverflow.com/a/40971371/5468463? – Vega
あなたが達成しようとしていることを説明できるかもしれません。観測可能なのはイベントのストリームなので、実際にはクリアできません。それを空の配列にマップすることで、放射された値をすべてそれに変換し、これがあなたが望むものであるかどうかはわかりません。 –
申し訳ありません。私の目標は次のとおりです。サービスは、日付ピッカーを使用して選択した特定の日付のカスタムページセットを返します。だから私は日d1のカスタムページを取得し、日付ピッカーから別の日d2を選択すると、それはカスタムページの配列をクリアし、新しいhttp要求を作成し、新しい値を設定する必要があります。 – Maddy