私は現在、私のUXを改善しようとしています。 ユーザーが新しいコンポーネントに切り替えると、データがロードされてビューに表示されるまで約0.5〜1秒かかります。最初の瞬間は、ビューが空であり、一部の部品が欠落しているか、間違って表示されています。バックグラウンドでAPIからデータを読み込む
角度解決インターフェイスがあることを理解しています。しかし、わかっている限り、データが利用可能になるまでビューのレンダリングが遅れるだけです。
私のアプリのランディングページがレンダリングされた後、バックグラウンドでデータをロードできるオプションがあるかどうかは疑問でした。こうすることで、ユーザーはすでにアプリを使用して表示することができ、他のページ/コンポーネントのデータが読み込まれていることを知らずに、バックグラウンドで表示することができます。
おそらくもっと良いアプローチがあるかもしれません。あるいは、解決インターフェイスの理解が間違っているかもしれません。
編集: は私のコードは、現在どのように機能するかを、例を提供する: サービスファイルでは:私のコンポーネントファイルで
getTiers() {
return this.http.get(this.authService.getApiEndpoint(), this.authService.getRequestOptions())
.map(
(response: Response) => {
const data = response.json();
return data;
}
);
: ngOnInit(){ this.getTiersを();私のテンプレートファイルで
}
getTiers() {
this.tierService.getTiers()
.subscribe(
(tiers) =>
this.tiers = tiers.data,
(error) => console.log(error),
() => this.initializingCompleted = true
);
}
:データの
<div class="col-md-4" *ngFor="let tier of tiers">
<ul class="table">
<li class="title">
{{ tier.title }}
</li>
[...]
の値をリセットする必要がある場合は、バックグラウンドで必要なデータをロードするためにサービスを使用することができます。 – Ploppy
AJAXを使用します。データがロードされたら、角度コンポーネントを更新します。 –
改善して...何から?あなたの現在のアプローチを示す[mcve]を与えます。そうでなければ、何が良いかを示唆するのは難しいです。 – jonrsharpe