我有一个简单的Ionic2页面需要从服务器获取数据并将其显示在模板中。
当我运行应用程序时,我在控制台中看到显示console.log(res.Data);
出现的所有数据。
不幸的是视图没有更新。然而,当我按下按钮时,一切都像魅力一样。
我还必须从this.update()
方法调用ngOnInit
,但没有成功。有什么想法我在这里做错了吗?
代码
constructor(private timeline: TimelineService) {
this.update();
}
update() {
this.timeline.getTimeline(1).subscribe(res => {
console.log(res.Data);
this.timelineData = res.Data;
});
}
模板
<pre>
{{ timelineData?.length }}
</pre>
<button (click)="update()">Update</button>
<div *ngFor="#timelineItem of timelineData; #i = index">
<timeline-item [data]="timelineItem"></timeline-item>
</div>
答案 0 :(得分:0)
我可以在您的模板中看到问题。由于您的数据是异步加载的,因此在尝试显示其length
属性时应该会遇到问题。
您可以在此级别尝试Elvis运算符:
<pre>
{{ timelineData?.length }}
</pre>
答案 1 :(得分:0)
我有类似的工作,在onPageLoaded()下调用服务就像一个魅力。你试过这个吗?
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
// Request Finish
});