[解決済み] サービス、ディレクティブ、モジュールの違いは何ですか?
質問
いろいろなドキュメントを読んでいますが、だんだんわからなくなってきました。 私は、基本的に、(1)と(2)の違いがわかりません。
- サービス
- ディレクティブ
- モジュール
カスタムコンポーネントを多く見かけますね。ディレクティブを使っていることもあれば、サービスを使っていることもあります。いつもモジュールから始まっています。この3つのタイプの違いは何なのか、どなたか例を挙げて説明していただけませんか?
どのように解決するのですか?
モジュールは、ディレクティブ、サービス、定数など、他の多くのものを配線する場所であるとお考えください。モジュールは他のモジュールに注入することができ、高いレベルの再利用が可能です。
angularアプリを書く場合、アプリケーションコード(テンプレートなし)のトップレベルモジュールを持つことになります。
サービスは主にコントローラ間で通信するためのものですが、あるサービスを別のサービスにインジェクトすることができます。サービスはデータストアにアクセスする方法としてよく使われ、人々はngResourceのようなangular APIをラップすることになります。このテクニックは、テスト(特にモッキング)が非常に簡単になるので便利です。認証やロギングなど、他のことをするためのサービスを持つことができます。
ディレクティブは、ウィジェットを作成したり、jqueryプラグインのように既存のものをラッピングするために使用されます。既存のプラグインをラップするのは難しいかもしれません。もし、双方向のデータバインディングが必要ないのであれば、ラップする必要はないでしょう。
ディレクティブはまた、DOM操作やDOM-eventのキャッチなどを行うための場所でもあります。DOM に関することは、コントローラやサービスの中で行うべきではありません。ディレクティブの作成は、かなり複雑になる可能性があります。IMHOでは、まずAPIを見て、あなたが探しているものを実現できるものを探すか、AngularのGoogleグループにアドバイスを求めることをお勧めします。
関連
-
[解決済み] md-selectでデフォルト値を設定する方法
-
角型グローバル確認ボックス
-
[解決済み] クラスを条件付きで適用する場合の最適な方法は何ですか?
-
[解決済み] angular-routeとangular-ui-routerの違いは何ですか?
-
[解決済み] ng-modelとng-bindの違いは何ですか?
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み】AngularJSのスコーププロトタイピング/プロトタイピング継承のニュアンスとは?
-
[解決済み】ng-ifとng-show/ng-hideの違いは何ですか?
-
[解決済み】AngularJS 。observe メソッドと $watch メソッドの違い
-
[解決済み】requiredとng-requiredの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
angularjs ローカルデータストレージ LocalStorage
-
[解決済み] オブジェクトと選択機能を備えたAngularJS BootstrapUI Typeahead
-
[解決済み] select 要素のデフォルト値を設定するための ng-option の使用方法
-
[解決済み] AngularJSの.$uibModalとは何ですか?
-
[解決済み] data-ng-file-selectが動作しないのはなぜですか?
-
[解決済み] ajaxリクエスト時にAngularjsのローディング画面が表示される。
-
[解決済み] AngularJSの$parentは何を意味するのですか?
-
[解決済み] エラーです。10回の$digest()反復に達しました。動的なsortby述語で中断!?
-
[解決済み] AngularJS の ng-disabled ディレクティブに式を指定しても動作しない
-
[解決済み] AngularJSディレクティブとは何ですか?