私は過去2ヶ月間に角2を学んでいましたが、私はサービスの使用を少し混乱させています。私がいくつかのコンポーネントを持つアプリケーションを開発していて、それぞれがWebサービスから表示する一連のデータを持っている場合、それらが同じモデル上に構築されている場合、単一のサービスを使ってデータを表示できますか?成分?そのことに角2サービス:正しいユースケース
答えて
多くのコンポーネントでサービスを使用でき、すべてのコンポーネントに固有のサービスを作成する必要はありません。 angular2 referenceことで
:
代わりのコピーと何度も同じコードを貼り付ける、あなたは、単一の再利用可能なデータサービスを作成し、それを必要とする コンポーネントに注入 ます。
また、サービスはシングルトンであり、コンポーネント内のすべてのインスタンスは同じです(階層型インジェクタに基づいています)。
「サービスはシングルトンです」は厳密には真実ではありません。ステートフルサービスとステートレスサービスのどちらを使用しているかによって異なります。私の答えを見てください。それ以外の場合は、自分自身を繰り返さないことについての部分がこのスレッドの有効な追加であるため、私はあなたの答えに同意します。 – JGFMK
サービスクラス(プロバイダ)が私を啓発するために、事前に
おかげで@Injectableで装飾され、ことができます:あなたがアプリ-module.tsでそれらを定義
- シングルトン@ngModuleはプロバイダの中で:@]単一のサービスがしないユースケースのために、@Componentデコレータに配列
- が挿入されています。
あなたのサービスの状態が含まれている場合は、シングルトンは、潜在的副作用を引き起こすとドキュメントがここに誤解されている
@Componentの内側にあなたがそれらを配置したいときです。..メタデータプロパティまでスクロール:「プロバイダを参照してください。 'たとえば、Observablesを常に返すことで、ステートレスサービスを使用することができます。
つまり、HTMLテンプレートの背後にあるコンポーネントのTypescriptで呼び出されたサービスに登録します。
- コンポーネントクラスは、
- HTMLテンプレートがaysnc pipeと併せて観察クラスのプロパティを使用して観察可能な特性を有しています。 |非同期
- 1. 角2 - サービスのサービス
- 2. 角2サービス - $ mdMedia
- 3. 角2は、CanActivateサービス
- 4. 角度2サービスは、私は、角2を学んでいる
- 5. 角2:正しいルートにリダイレクト
- 6. 角度2 - ngSwitchCase - 正しい構文(ラッパー)
- 7. 角2 - パイプソート - 正しい構文
- 8. 角度2サービスのクリーンアップコード
- 9. 角2:サービスとレビュックスの差
- 10. 角度2注入サービス
- 11. 角2:複数のHTTPサービス
- 12. 角度2のサービス変数
- 13. 角2モーダルウィンドウ/ダイアログviaサービス
- 14. 角度2:サービスは私の角度2のアプリで
- 15. 角2:別のサービスにサービスを注入する。 (NOプロバイダエラーなし)
- 16. 角度2のサービスを2回購読しました
- 17. 角2依存注入がサービスで動作しない
- 18. 角2の別のサービスで新しいサービスインスタンスを注入
- 19. 角2子モジュールが親サービスを継承しています
- 20. 角2のコンポーネントでサービスを提供しない理由
- 21. 角2サービスの初期化ロジック
- 22. 角度2 HTTPサービスの同期
- 23. 角2 - サービスにプロバイダを含める
- 24. 角2のデータをサービスに保存
- 25. 角度2サービスのノード鍛造インポート
- 26. 基本角2 Typescriptサービスの設定
- 27. 角度2とサービスによるユニットテスト
- 28. 角2サービスのシングルトンスコープの問題
- 29. 角2のHTTPサービスの問題
- 30. 通知サービスの角2の変更コンポーネント
はい、すべてのコンポーネントに対して1つのサービスを使用できます。 – Brandon
あなたはそのトピックについての例がありますか?私はそれを昨日の質問に投稿しています。誰もそれがどのように動作するかはわかりません。 – Geeksan
angular.ioの "Tour of Heroes"を経験しましたか?コンポーネント内の単一サービスのデータを使用する方法の例を示します。ここでデモンストレーションされたコンセプトを拡張して、何かをすることができます。 – Brandon