2017-01-05 2 views
1

私のプロジェクトには次のものがあります:Angular2 - コンポーネントとサービスの間にはどこのロジックがありますか?

APIを呼び出すサービスクラスを呼び出すコンポーネント。追加する必要があるロジックは、UI固有のものです。

これはきれいでシンプルですが、私はいくつかのバインディングとロジックを追加して、それを最高のソリューションのように見えないコンポーネントに追加しました。私はそれを分割する仕事をするコンポーネントとサービスクラスの中間地点を考えています。これは良いアイデアですか?ベストプラクティスは何ですか?ほとんどの場合には

おかげ

答えて

0

我々はバインディングのためのロジックを記述する必要があり角度2における通常そのコンポーネントなど

+0

@BPDIしかし、それは厚いコンポーネントクラスになりませんか?理想的には、コンポーネントは薄くすべきですか? – Funky

+0

部品が薄くなければならないものは何もありません。 AngularはtypescriptとES6パターンに基づいています。ここでは、デコレータを使用して値をリンクしたりバインドしたりします。詳細については、[this](http://blog.thoughtram.io/angular/2016/10/13/two-way-data-binding-in-angular-2.html)を参照してください。 – BPD1

0

servicecomponentと、あなたがしているオブジェクトをmodelateするclass対処するだけで十分です。

コンポーネントには、表示しているUIに関連するすべてのものとサービスへの適切なリンカーが必要ですが、サービスはUIについてはほとんど知っているべきではありません(通常はAPI呼び出しに使用されます)。

/util.tsファイルは、サイト上で再利用している機能を保存するのに適している場合がありますが、一般的にはそうではありません。これらの機能は、特にどのコンポーネント/サービスにも取り付けることができないことに注意してください。

コンポーネントの責任が多すぎるとすぐに必要になる可能性がある特定のフィールドをさらに抽象化したい場合は、別のモジュールを作成してEventEmitterとプロパティを使用してデータを交換するのが最も良い方法です。 docs

編集:

あなたがベストプラクティスへの参照を求めているので、あなたがJohn Papa's Angular2ものを読むことであれば最高。 thisthisに従ってください。

関連する問題