サーバーからデータを取得してテンプレートに表示する必要がある単純なIonic2ページがあります。httpコール後にAngular2/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'ライフサイクルフックからupdate関数を呼び出そうとしましたか?ngOnInit(){this.update(); } '? –
タイムラインアイテムコンポーネントに問題がある可能性があります。そのコンポーネントを呼び出す代わりにngForの中で{{timelineItem}}を実行するだけの場合 –
timeline-item-componentを使ってやることがあるようです。これを取り除き、何が間違っているかを見てみましょう。ありがとう! –