Angular2 RC“NgFor仅支持绑定到诸如数组之类的Iterables。”错误

时间:2016-06-21 21:47:14

标签: angular

我有一个运行版本2.0.0-rc.2的Angular2应用程序。

当我在服务中使用下面的http get调用时,我收到一条错误消息“NgFor仅支持绑定到诸如Arrays之类的Iterables。”。帖子底部有更多错误细节。 我称之为.net Web Api终点。 当服务指向json文件时,应用程序按预期工作。 有没有人有任何想法?

这是服务电话......

getTiles(): Observable<ITile[]> {      
  return this._http.get(this._tileUrl)
        .map((response: Response) => <ITile[]> response.json())
        .do(data => console.log('All: ' +  JSON.stringify(data)))
        .catch(this.handleError);
}

以下是有关错误的详细信息......

  

'[{“TileId”:2119799133,“Title”:“老医生管家   Head“},{”TileId“:2132951783,”Title“:”Milk Tea&amp;   Pearl“},{”TileId“:2139685810,”Title“:”“}]''strong>类型'string'.NgFor   仅支持绑定到Iterables,例如Arrays。

使用此服务的组件订阅如下...

 ngOnInit(): void {
       this._TilesService.getTiles()
                 .subscribe(
                   tiles => this.tiles = tiles,
                   error =>  this.errorMessage = <any>error); 
}   

并包含此HTML ...

 <div *ngFor="let t of tiles">
   <tile [tile]='t'></tile>
 </div>

1 个答案:

答案 0 :(得分:0)

感谢您的想法。我已经解决了这个问题。它是在Web Api方面。内容是手动序列化的,但不需要,因为Web Api会处理这个问题。这导致返回的内容格式错误。这条线被删除了......

var json = JsonConvert.SerializeObject(tiles);