【发布时间】:2017-08-07 15:11:10
【问题描述】:
我正在开发一个使用 Ionic 2 和 Angular 2 的应用程序。现在我正在尝试从 API 获取数据并将其显示在页面上。
我可以记录数据,我认为它是正确的,但由于某种原因,页面本身没有显示任何内容:
我从中接收数据的 API 位于此处:http://peerligthart.com/grotekerk/v1/api.php/zerken?transform=1
*ngFor 在我看来
<ion-content padding>
<h1 *ngFor="let z of zerken">
{{ z.naam }}
</h1>
</ion-content>
控制器
import { Component } from '@angular/core';
import { NavController, PopoverController } from 'ionic-angular';
import { PopoverPage } from '../popover/popover';
import { ZerkenProvider } from '../../providers/zerken';
@Component({
selector: 'page-lijst',
templateUrl: 'lijst.html',
providers: [ZerkenProvider]
})
export class LijstPage {
zerken: Array<any>;
constructor(public navCtrl: NavController, public popoverCtrl: PopoverController, public zerkenProvider: ZerkenProvider) {
this.zerkenProvider.getZerken().subscribe(
data => {
console.log(data.zerken);
this.zerken = data.zerken.results;
}
)
}
openPopover(event) {
let popover = this.popoverCtrl.create(PopoverPage);
popover.present({
ev: event
});
}
}
最后,提供者
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class ZerkenProvider {
static get parameters() {
return [[Http]];
}
constructor(public http: Http) {
}
getZerken() {
var url = "http://peerligthart.com/grotekerk/v1/api.php/zerken?transform=1";
var response = this.http.get(url).map(res => res.json());
return response;
}
}
那么,页面本身显示的是什么:
如你所见.. 什么都没有。我希望有人有一个解决方案,亲切的问候!
-------------编辑-------------
我将this.zerken = data.zerken.results 更改为this.zerken。这样做后它给了我一个错误:
【问题讨论】:
-
如果检查 DOM 会怎样? HTML列表真的生成了吗?它可以简单地隐藏在 CSS 或其他东西中。
-
试试这个
<h1 *ngFor="let z of zerken | async"> -
@GangadharJannu async 将是
zerken本身是一个承诺或可观察的 -
您在日志中没有收到任何错误..?
-
使用 this.zerken=data.zerken
标签: javascript angularjs angular ionic-framework ionic2