2016-03-23 6 views
0

たちは、このサービスが観測(angular2)内のデータを操作するためのパターン何

@Injectable() 
export class CarService { 

    constructor (private http: Http) {} 

    getCars() { 
     return this.http.get('someurl') 
       .map(res => <Car[]> res.json())    
       .catch(this.handleError); 
    } 
} 

があると、私たちは別のコンポーネントでこれに加入します。車はこのようになります場合:

class Car{ 
    Color:string; 
    Timestamp:any; //this comes as a string in JSON but I want it to be of type Date object 
} 

と我々はいくつかのロジック、つまり変更日付持つようにしたい:日付型に文字列、これが行われるべきか?

サービス中?そしてどうやって? はクラスそのものですか? .map()はCarクラスのコンストラクタをヒットしますか?私はこのプロセスのいずれか入れてしまうでしょう

答えて

2

Carクラスのコンストラクタで配列のmap方法

return this.http.get('someurl') 
     .map(res => <Car[]> res.json()) 
     .map(data => { 
      data.map((d) => { 
      var date = (...) 
      return new Car(color, date); 
      }); 
      return data; 
     }) 
     .catch(this.handleError); 
  • を活用mapオペレータに

    • return this.http.get('someurl') 
           .map(res => <Car[]> res.json()) 
           .map(data => { 
            data.map((d) => { 
            return new Car(color, timestampAsString); 
            }); 
            return data; 
           }) 
           .catch(this.handleError); 
      
  • 関連する問題