オンラインで多くの回答があることがわかりました。ここでは、スタック オーバーフローを参照してください。しかし、3つすべてが同じ機能セットを実行できるため、どのシナリオでどれを使用するかについて明確にする人はいませんか?
どうか明らかにしてください。
オンラインで多くの回答があることがわかりました。ここでは、スタック オーバーフローを参照してください。しかし、3つすべてが同じ機能セットを実行できるため、どのシナリオでどれを使用するかについて明確にする人はいませんか?
どうか明らかにしてください。
プロバイダーは構成可能なサービスです。Foo
でサービスを作成すると、ブロック内でprovider()
を使用できます。FooProvider
config()
angular.module('MyApp', [])
.provider('Foo', function () {
...
})
.config(function (FooProvider) {
FooProvider.something('bar');
})
.run(function (Foo) {
...
});
これを何に使用するかの簡単な例については、 を参照してください$logProvider
。
...Provider
サービスに構成可能変数が必要ない場合は、factory()
またはservice()
メソッドを使用すると、複雑なプロバイダーのセットアップを行う必要がないため、サービスを簡単に作成できます。factory
/service
は、プロバイダーが必要ない場合の簡略化された便利なコンストラクターです。
との違いはfactory
、でインスタンス化する「クラス」を想定しているのに対し、 は典型的なコールバック関数service
をfactory
受け入れることです。例えば:service
new
// Javascript "class"
function Foo() {
...
}
Foo.prototype.bar = ...;
angular.module('MyApp', [])
.service('Foo', Foo)
.factory('Bar', function () {
...
})
.run(function (Foo, Bar) {
...
});
プロバイダーまたはプロバイダーレス サービスの記述方法の詳細については$provide
、 およびガイドを参照してください。