:私はビューのサブスクライブのアイデアを気に入っから退会ので2角度 - rxjs - 私はそうのような観察可能な配列を購読する私のテンプレートで観察配列
<div *ngFor="let item of activities | async">...</div>
は私が観察可能なアレイへの私の活動の配列を変更しました私の観察。
私の質問は、最初に観測を取得し、活動オブジェクト配列にそれらをマッピングした後、どのように私は全体の観察可能な配列を上書きせずに、そのアレイに追加またはプリペンド活動んですか?
具体的には、私は無限スクロールを作成し、完了新しいhttpリクエストに応じています、私は活動、観察、アレイに追加する必要がある12個の新しい活動オブジェクトを持っています。
活動の定義:
public activities: Observable<Array<ActivitiesItemModel>>;
私の最初の要求:
this.activities = this._transactionService.Get(url)
.map(activities => {
// Creates an activities model which contains items<ActivitiesItemModel>
return new activitiesModel(activities).items;
})
私の無限スクロール要求:
// This is where I am stuck..
// I assumed I could just map the values retrieved from the request
this.activities
.map(a => {
return this._transactionService.Get(queryUrl)
.map(activities => {
infiniteScroll.complete();
return activities;
})
})
任意のアイデア?
あなたは(とすべき)既存の観測可能な配列を上書きすることができます。パフォーマンス上の問題がある場合は、 'ChangeDetectionStrategy.OnPush'を使用することができます。これは配列を変更しても機能しません。そのため、上書きする方がいいです。ダウンロードしたデータを1か所に保存し、このデータのフィルタリングされたコピーを表示用に使用してください。 – Sasxa