Angular2 / TypeScript&HTTP:如何将对象附加到组件?

我试图显示一个restAPI的项目名称列表。 我在响应observable上调用map并订阅获取parsing的items对象。

如何将对象附加到组件并在html模板上显示item.name的列表?

import { Component, bootstrap } from 'angular2/angular2'; import { Http, HTTP_PROVIDERS } from 'angular2/http'; @Component({ selector: 'item-app', viewProviders: [HTTP_PROVIDERS], templateUrl: 'app/content.html' }) class ItemsComponent { items: Object; constructor(http: Http) { http.get('http://localhost:3000/api/items') .map(response => response) .subscribe( items => this.items = items ); } } 
  <ul> <li *ng-for="#item of items"> {{ item.name }} </li> </ul> 

我相信map中的callback是一个Response对象。 如果响应是JSON,则需要调用

.map(response => response.json())

一旦完成,如果实际响应是一个数组,你的绑定应该工作。

请参阅http API示例https://angular.io/docs/ts/latest/api/http/Http-class.html

在Alpha 46之后,你必须做这样的事情来显式地告诉TypeScript你正在处理一个Responsetypes的对象:

  this.http.get(url).map((res: Response) => res.json()) .subscribe(res => this.result = res); 

我也有一个工作示例与文档在这里: http : //www.syntaxsuccess.com/viewarticle/angular-2.0-and-http http://www.syntaxsuccess.com/angular-2-samples/#/demo/http