我正在使用API获取数据并将其绑定到HTML中,我可以在控制台上显示响应,但是一旦我尝试将数据绑定到用户屏幕上,就没有显示任何内容
我的HTML:
<ul *ngFor="let item of items; let i of index">
<li class="fa fa-plus">{{item.name}} - {{i}}</li>
</ul>
我的TS:
id: number;
name:string;
imageUrl: string;
items:any = {};
ngOnInit() {
this.getItems();
}
getItems() {
this.getItemsService.getItems().subscribe(
res => {
console.log(res)
if (res.Success) {
this.items = res;
}
}
)
}
我试图从一个对象数组中获取数据--这就是为什么我将项定义为一个对象,如果我试图将其定义为一个数组,同样的结果就是不能将数据绑定到HTML
我的API链接:
http://5a12745f748faa001280a746.mockapi.io/v1/stores/item
任何问题或遗漏的信息都告诉我,但我需要帮助绑定这些数据。
发布于 2018-06-24 23:29:31
有两件事,HTML:let i = index
是语法。
第二个问题,您在绑定中有一个条件:
if (res.Success) {
this.items = res;
}
这意味着您的响应具有Success
属性。
我检查了你的API链接,但它没有。
因此,在您的服务中,您可以使用Http from @angular/http
或HttpClient from @angular/common/http
。以下是两个语法:
// Http
return this.http.get('url').map(res => res.json());
// HttpClient
return this.http.get<any[]>('url');
对于该条件,请更改为以下内容,以检查是否有数据。您不需要检查是否成功,因为您有一个特殊的回调。这意味着,在条件允许的地方,你总是会成功的。
if (res) {
this.items = res;
}
https://stackoverflow.com/questions/51018174
复制