#angular #ionic-framework
#angular #ionic-framework
Вопрос:
//users.html
<button ion-item *ngFor="let user of users">
<h2>{{ user.id }}</h2>
<h2>{{ user.name }}</h2>
<h2>{{ user.number }}</h2>
<ion-icon name="arrow-forward" item-right></ion-icon>
</button>
//users.ts
Component({
selector: 'page-users',
templateUrl: 'users.html',
})
export class UsersPage {
users: User[]
constructor(public navCtrl: NavController,
public navParams: NavParams, public githubUsersProvider:
GithubUsersProvider) {
githubUsersProvider.load().subscribe(users => {
this.users = users;
})
}
ionViewDidLoad() {
console.log('ionViewDidLoad UsersPage');
}}
//user.ts (model)
export interface User {
id: number;
number: number;
name: string;
}
//github-users.ts
@Injectable()
export class GithubUsersProvider {
githubApiUrl = 'URL';
constructor(public http: HttpClient) {
console.log('Hello GithubUsersProvider Provider');
}
// Загрузить всех пользователей github
load(): Observable<User[]> {
return this.http.get(`${this.githubApiUrl}`)
//.map(res:Response) => res.json().data);
.map(res => <User[]>res);
}
}
// мой URL-адрес ответа
{"status": "OK","results": [{"id":"136","number":"255","name":"hello
ionic"},
{"id":"137","number":"256","name":"goodbye"
}]}
Я только что изучил Ionic и не знаю, что не так с моим кодом.
Возникает ошибка:
Ошибка: не удается найти другой поддерживающий объект ‘[object Object]’ типа ‘object’. ngFor поддерживает привязку только к итерациям, таким как массивы
.
Комментарии:
1. попробуйте
.map(res => <User[]>res.results)
вместо.map(res => <User[]>res)
иthis.http.get(`${this.githubApiUrl}`, { observe: 'response' })
вместоthis.http.get(`${this.githubApiUrl}`)
2. Пустая страница не может отображать какие-либо данные.
3. // Load all github users load(): Observable<User[]> { return this.http.get(
${this.githubApiUrl}
, { observe: ‘response’ }) //.map(res:Response) => res.json().data); .map(res =>[]> res.results); } }