【发布时间】:2016-04-26 10:55:17
【问题描述】:
我有一个简单的 Ionic2 页面,需要从服务器获取数据并将其显示在模板中。
当我运行应用程序时,我会在控制台中看到所有从 console.log(res.Data); 获取的数据。
很遗憾,视图没有更新。但是,当我按下按钮时,一切都像魅力一样。
我还必须从ngOnInit 方法调用this.update(),但没有成功。有什么想法我在这里做错了吗?
代码
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>
【问题讨论】:
-
您是否尝试过从
ngOnInit生命周期挂钩调用更新函数.. 就像ngOnInit(){ this.update(); }一样? -
这可能只是您的时间线项目组件的问题。如果您只是在 ngFor 中执行 {{ timelineItem }} 而不是调用该组件会怎样
-
看起来确实与时间线项目组件有关。要去剥这个,看看有什么问题。谢谢!