2016-07-15 12 views
0

http getから受け取ったオブジェクトを受け取り、一度取得した3つの変数に入れたいと思います。angular2 filter/mapの結果が変数に入る

Data: [ 
{ 
    reportId: 1, 
    results1: [{ 
     name: "TotalReferralsMade", 
     optionId: 3082, 
     factor: 1, 
     description: null 
     }], 
    results2: [ ], 
    results3: [{ 
     name: "2014/15", 
     dateRangeId: 469, 
     dateFrom: "2014-04-01T00:00:00.000Z", 
     dateTo: "2015-03-31T00:00:00.000Z" 
}]}] 

上記のデータより、3つの変数が必要です。以下はデータのhttpリクエストです。

public GetReportOptions(): Observable<ReportOptions[]> { 
    return this._http.get('uri') 
     .map((response: Response) => <ReportOptions[]>response.json()) 
     .do(data => console.log("Options: " + JSON.stringify(data))) 
     .catch(this.handleError); 
} 

私は、コンポーネントが購読されているサービスの一部として呼び出します。次にコンポーネントでは、ngOnChangesのデータを呼び出します。

getReportOptions(id: number) { 
this._Service.GetReportOptions(id) 
    .subscribe(options => this.results = options }, error => this.errorMessage = <any>error) 
} 

これは、すべてのデータをresultsという1つのオブジェクトに置きます。データをresults1、results2、results3に移動します。これはできますか?

答えて

0

私はあなたの質問を正しく理解しているかどうか質問しています。なぜならAngular2の質問のほうが少なくて、Javascript/Typescriptの質問のほうが少ないからです。私はこれがあなたが探している答えだと信じています(もし私がここでの質問と目標を理解しているなら)。

getReportOptions(id: number) { 
    this._Service.GetReportOptions(id) 
      .subscribe(options => { 
       //this.results = options; 
       this.results1 = options[0].results1; 
       this.results2 = options[0].results2; 
       this.results3 = options[0].results3; 
      }}, error => this.errorMessage = <any>error) 
} 
関連する問題