Iは、次のコードを有する:アレイがロードされたときにイベント・エミッターを購読
this.itemsService.getItems()
.subscribe(i => this.items = i);
しかし、ユーザは、アイテムの種類を選択することができるが、私は、このイベント・エミッタを有する:
this.typeofitems.selectedType.subscribe(type => this.type = type);
を
とうまくいきます。
今度は、this.items
の商品リストをfilter function
でフィルタリングしたいと考えています。問題は、アイテムの読み込みが完了したときに、私は、サブスクリプション内のログを置けばaltough私は、知らない、次のとおりです。
this.itemsService.getItems()
.subscribe(i => {this.items = i; console.log("completed");});
それはそれが終わる私を示しています。だから私は試した:
this.itemsService.getItems()
.subscribe(i => {
this.items = i;
this.typeofitems.selectedType.subscribe(type => {
this.type = type;
this.filterByType();
});
});
filterByType() {
this.itemsfilteredByType = this.items.filter(i => i.type === this.type)
}
しかし、それは動作していません。だから私はサブスクリプトの中で購読することはできないと思う。 どうすれば実現できますか?
ものは次のとおりです:typeOfItemsが変更されたとき、それが再びのgetItemsに呼び出します
は非常によく似た質問を参照してください? – FacundoGFlores@FacundoGFloresなぜあなたはそれを試してみませんか?最後に 'typeOfItems.next(1);'を追加し、何が起こるかを見てください。 – martin