2017-08-16 57 views
0

我有一些示例JSON從API時進入角服務,像這樣的對象的集合:伸入子對象中檢索可觀察到的(打字稿/角)時

{ 
    "data": { 
    "id": 1, 
    "title": "one" 
    }, 
    "stats" : { 
    "voteCount": 8 
    } 
} 

「數據」部分是我倒是要提交回在角活性形式,所以我真的很喜歡我觀察到的是對象的集合只有id和標題:

export class SimpleIssue { 
    id: number; 
    title: string; 
} 

在我的角度服務,我得到的數據,如所以:

getItems(): Observable<SimpleIssue[]> { 
    return this.http.get(this.apiUrl + 'simpleissues/') 
     .map((response: Response) => <SimpleIssue[]> response.json()) 
     .do(thedata => console.log('all: ' + JSON.stringify(thedata))) 
     .catch(this.handleError); 
} 

我會想如果我有改變了response.json()來response.json()數據可能的工作,或者如果我增加了一個.MAP該行像後:

.MAP (blah => blah.data)

但是沒有運氣。順便說一句,如果我把它作爲「任何」類型,我可以把{{myItem.data | json}},並準確找回我期望的,因爲它處理每個集合對象。

我可以得到這個工作嗎,還是我錯過了爲每個視圖發送不同視圖模型等基本概念?

感謝

回答

0

沒有測試過,但是這應該適合於您的情況:

getItems(): Observable<SimpleIssue[]> { 
    return this.http.get(this.apiUrl + 'simpleissues/') 
     .map((response: Response) => <any[]> response.json()) 
     .map((arr: any[]) => arr.map(i => i.data)) 
     .do(thedata => console.log('all: ' + JSON.stringify(thedata))) 
     .catch(this.handleError); 
} 
+0

得好好的,不會想到一上來我自己。乾杯! – Glinkot

相關問題