0

私は現在CompAとCompBという2つのコンポーネントを持つAngular 4アプリケーションを持っています。 CompAはhttpサービスを通じて書籍を取り出し、それをテーブルに表示しています。 CompBはちょうどいくつかの静的なデータを示しています。私はこれらの2つのコンポーネントの間をナビゲートしています。問題は、CompAがデータの取得を完了し、CompBに移動してからCompAに戻ったときに、再びhttpサービスを介してデータをフェッチするときです。この方法で、私はサーバーにバックリクエストを送り返します。この問題に取り組むための一般的な方法はありますか?私は大きなアプリケーションを開発しており、そのアプリケーションにはそのようなコンポーネントがたくさんあります。Angular4コンポーネントの状態

答えて

2

あなたの最善のアプローチは、httpコールとそのサービスのローカルキャッシングをサービスに持たせることです。コンポーネントは、必要なときにこのサービスからデータを要求し、アプリケーションはアプリケーションの存続期間中状態を保持します。

+0

アプリケーションのライフサイクル中に新しい書籍がバックエンドに挿入された場合(データを取得している場所から)、新しく挿入した書籍をコンポーネントで確認できますか? –

+0

新しいリクエストをいつ行うか、以前の結果を使用するかは決める必要があります。これはタイムアウトまたはトリガになる可能性があります。 API呼び出しを使用している場合は、新しいデータを要求しない限り確実にわかりません。バックエンドからアプリケーションにデータをプッシュできるもう1つの方法は、websocketを設定することです。どのような場合でも、httpコールとサービス内のキャッシュを管理する必要があります。 – Raven