2016-08-27 20 views
0

私は単純なTodoアプリケーションを持ち、データベースに接続しています(シナリオ例)。角度2はオブジェクトまたはデータをサービスまたはコンポーネント内に格納する必要があります

私はすべてのCURD操作を実行するhttpServiceを持っています。私の質問は次のとおりです:

取り込まれたToDoの配列は、サービス自体の内部かtodo.componentの内部に格納されるべきですか?私は一貫性のためにこれを求めています。

私はjohn papaのスタイルガイドを読んだことがあります。サービスはロジックを処理すると思われますが、コンポーネントは関連するものだけを表示しますが、実際は質問には答えません。いくつかのオンラインチュートリアルで

それは...一度サービスで、かつての成分で、二回配列を保存することにより、明確化のため

感謝を行われていました!

答えて

1

実際、私はこのスタイルガイドが質問に答えると思います。私が説明します:

  • サービスは、ロジックを処理することになっている、そのように、彼らはデータをフェッチ(と、それを保存しない)する責任があります。しかし、クライアント側のキャッシュを実装したい場合はどうすればよいでしょうか?あなたはサービスでそれを行うことができます。

  • コンポーネントは、(表示するために)ビューデータを格納するために必要です。ほとんどの場合、データをプライベート変数に格納してテンプレートに表示できるようにする必要があります。

役割を明確にすることを望みます。

+0

ちょっとサギ、あなたの迅速な返答をありがとう。明確にするために、クライアント側キャッシュを展開する場合は、サービス内に格納されたデータを使用してデータを設定または取得します。 これは、サービスでロジックを維持するためのスタイルガイドを維持するために、2つの配列を維持して同期する必要があることを意味します。 –

+0

キャッシングのアイデアは単なる説明に過ぎません。より良い例は、サービス層内のアクティブなレコードだけを取得するなど、何らかのフィルタリングです。キャッシングについて - Observablesで実装する方が良い、ここでは:http://www.syntaxsuccess.com/viewarticle/caching-with-rxjs-observables-in-angular-2.0 – Sagi

関連する問題