我是网络和Ionic3开发的新手,我遇到了问题,我按照教程使用了其他API,我能够将这个列表带给用户,但是我想带一个特定的用户和节目它在屏幕上,如果我更改用户的URL,它会显示此错误
TabCepPage.html:10 ERROR Error: Cannot find a differ supporting object
'[object Object]' of type 'Leanne Graham'. NgFor only supports binding
to Iterables such as Arrays.
我的应用是这样的:
提供者:rest.ts
apiUrl = 'https://jsonplaceholder.typicode.com';
constructor(public http: HttpClient) {
console.log('Hello RestServiceProvider Provider');
}
getUsers() {
return new Promise(resolve => {
this.http.get(this.apiUrl+'/users/1').subscribe(data => {
resolve(data);
}, err => {
console.log(err);
});
});
}
页.ts:
users: any;
constructor(public navCtrl: NavController, public restProvider: RestProvider) {
this.getUsers();
}
getUsers() {
this.restProvider.getUsers()
.then(data => {
this.users = data;
console.log(this.users);
});
}
以及HTML显示:
<ion-item *ngFor="let user of users">
<h2>{{user.name}}</h2>
<p>{{user.email}}</p>
</ion-item>
你帮我吗?
答案 0 :(得分:0)
当尝试在代码上获取特定用户时,this.users最终成为一个对象,而不是一个数组,这是您的模板试图循环的数组。您只需要更新模板以显示对象,而不是尝试循环它。
example:
<ion-item *ngIf="users">
<h2>{{users.name}}</h2>
<p>{{users.email}}</p>
</ion-item>
答案 1 :(得分:0)
你可以看到你可以使用的数组 console.log(JSON.stringify(变量名));