Angular 2+(4.3.6)では、新しいHttpClientにREST APIを使用しています。私のAPIサービスでapiの応答から観測可能な配列を作成する
{
count: number,
results: MyObject[]
}
私がデータを取得するには、次の機能があります: APIは以下のように定義されたJSONオブジェクトを返す私のアプリのコンポーネントで
public getList(): Observable<ApiResponse> {
return this.http.get<ApiResponse>(url); }
を私はデータを表示したいです'async'パイプを使用して配列内のオブジェクトの配列を返します。そのため、私は結果
results: Observable<MyObject[]>;
とinit関数で
ngOnInit() {
this.results = this.myService.getList();
}
し、最終的にテンプレート
<div *ngFor="let item of results | async">
{{ item.id }}
</div>
で私は角に非常に新しいですし、それを把握することはできませんという変数を持っていますローカルオブジェクトを作成せずに非同期パイプを使用して結果配列にアクセスする方法:
temp: MyObject[];
ngOnInit() {
this.temp = this.myService.getList().subscribe(data => this.temp = data.results);
}
誰でもこれを行う方法を知っていますか?
import "rxjs/add/operator/map";
this.results = this.myService.getList().map(res => res.results);
あなたはその後、非同期パイプまたはサブスクリプションを経由して、これをアクセスすることができます:それはあなたが別の変換に基づいて、観察を作成することができます -
それはそれが多かれ少なかれ動作する方法です。 'http request' - >' observable' - > 'subscription' ---> data –