我有一个运行版本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>
答案 0 :(得分:0)
感谢您的想法。我已经解决了这个问题。它是在Web Api方面。内容是手动序列化的,但不需要,因为Web Api会处理这个问题。这导致返回的内容格式错误。这条线被删除了......
var json = JsonConvert.SerializeObject(tiles);