【发布时间】:2017-01-16 18:05:44
【问题描述】:
我一直在关注Tour of Heroes chapter on http calls,并试图用不同的 API 实现类似的东西。 但是,我收到以下错误:
找不到类型为“Bond Street 1”的不同支持对象“[object Object]”。 NgFor 只支持绑定到 Arrays 等 Iterables。
关于这是为什么的任何线索?
我的服务如下所示,并在我控制台记录结果时工作
search(stationNumber: number): Observable<BikeStand[]> {
return this.http.get(`APIURL${stationNumber}`)
.map((b: Response) => {
console.log(b.json() as BikeStand[])
return b.json() as BikeStand[];
});
}
我的组件如下所示
export class BikestandSearchComponent implements OnInit {
bikestands: Observable<BikeStand[]>;
private searchTerms = new Subject<number>();
constructor(private bikestandSearchService: BikestandSearchService) { }
search(term: number): void {
this.searchTerms.next(term);
}
ngOnInit(): void {
this.bikestands = this.searchTerms
.debounceTime(300)
.distinctUntilChanged()
.switchMap(term => term ? this.bikestandSearchService.search(term) : Observable.of<BikeStand[]>([]))
.catch(error => {
console.log(error);
return Observable.of<BikeStand[]>([])
})
}
我的观点喜欢这样
<div id="search-component">
<h4>Bikestand search</h4>
<input #searchBox id="search-box" (keyup)="search(searchBox.value)" />
<div *ngFor="let bikestand of bikestands | async">{{bikestand.name}}</div>
</div>
我的给定键的 api 看起来如下仅供参考
{
number: 1,
name: "Bond Street 1",
address: "Street",
position: {
lat: 55.340962,
lng: -6.3
},
banking: false,
bonus: false,
status: "OPEN",
contract_name: "City",
bike_stands: 29,
available_bike_stands: 19,
available_bikes: 10,
last_update: 1473356300000
}
【问题讨论】:
标签: json api angular reactive-programming