2016-10-06 7 views
0

私はAngularJsアプリケーションを開発しています。 firebase Authのようなコントローラのサンプルを検索すると、工場とコントローラの違いは何ですか?

.factory("Auth", function($firebaseAuth) { 
     var usersRef = new Firebase("https//<YOUR-FIREBASE-APP>.firebaseio.com/users"); 
     return $firebaseAuth(usersRef); 
    }) 

コントローラの代わりに工場が使用されます。 私はそれをコントローラに変更しました。 私はその違いについて知る必要があります。

+0

私は工場出荷時にはアプリ全体で再利用することができますいくつかのビジネス・サービスを構築するために存在している間、コントローラは、特定のビューを処理するように設計されていると信じています。したがって、コントローラは、ビューとビジネスロジックの間のリンクを確立するためにそこにあります。しかし、それが実際にイオンフレームワークと同じであるかどうかはわかりません。 – nubinub

+0

角のスタイルガイドを読んでそれらについてもっと知ってください。 [AngularJS:工場対プロバイダVSサービス]の – ram1993

+0

可能な複製(http://stackoverflow.com/questions/15666048/angularjs-service-vs-provider-vs-factory) @alan – Dexter

答えて

1

工場が使用されますが、複数のコントローラに同じFirebase認証を使用することができますので、ここにあります。あなたが特定のコントローラにこれをハードコーディングしている場合 代わりに、あなたはそれぞれ認証を必要とする他のすべてのコントローラに同じことをしなければならないでしょう。(悪いです)。 はまた、新しい機能がサービスや工場として追加される決まり文句です。

+0

おかげので、工場の違いは何ですかそしてサービス? – SaJed

+0

@SaJedファクトリは、サービスのインスタンスを返す単なるファンクションです。 あなたはそれがちょうど実際に '新しいTheService(引数)を返すん'ので、サービスは工場出荷時にはオブジェクトを作成して返すために持っていながら、「新しい」でインスタンス化されることを期待する必要があり、デフォルトの工場に包まれますサービスを定義します。 – Duncan

関連する問題