私は、できるだけ希薄な(トラフィック単位の)ままにし、必要なときにのみ(API URLからの)特定のデータセットをロードしたい。角2:サービスが非同期で初期化されるまでコンポーネントのレンダリングを延期する
データのロードを担当するサービスは、依存関係としてuiコンポーネントコンストラクタに渡されます。コンポーネントテンプレートには、サービスのプロパティとメソッドへの参照が多数あります。コンストラクタでデータのロードを開始できますが、ロードが非同期で行われるため、データが到着した時点でコンポーネントが既にレンダリングされています。
基本的には、サービスがAPIから読み込まれた新しいデータで初期化されるまでコンポーネントレンダリングを延期する方法を探しています。現在、私は、サービスが初期化されているかどうかをチェックし、初期化が完了したら最終ルートに移動するコンポーネントを持つ基本ルートを持っています。しかし、1つのビューに2つのルートが必要なため、これはあまり意味がありません。
ルートリゾルバを使用する際に特に問題がありますか?それが基本的なものです。 – estus
ルータを使用している場合は、https://angular.io/docs/ts/latest/guide/router.html#!#resolve-guardを選択することをお勧めします。 –
はい、ルートリゾルバは私が最終的に解決した方法でした。ありがとう。 – Passiday