伸入子对象中检索可观察到的(打字稿/角)时

伸入子对象中检索可观察到的(打字稿/角)时

问题描述:

我有一些示例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}},并准确找回我期望的,因为它处理每个集合对象。

我可以得到这个工作吗,还是我错过了为每个视图发送不同视图模型等基本概念?

感谢

没有测试过,但是这应该适合于您的情况:

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