1

AngularJS にはコントローラーを作成するための短い形式があるため、これにモジュールを使用する必要はありません。この短い形式は、単に関数を定義することです

function FooController ($scope) {
  // ...
}

を使用して HTML マークアップから参照しますng-controller

<div ng-controller="FooController">
  ...
</div>

さて、私の質問は、サービスを定義するための同様の「短い形式」があるかどうかです。つまり、モジュールを使用せずにサービスを定義 (および使用) できますか?

モジュールを使用してアプリケーションを構築することは完全に理にかなっていることを私は知っていることに注意してください。AngularJS にまったく慣れていない人に AngularJS を説明しているだけなのですが、今日その疑問が生じました。ですから、好奇心と完全性のためだけです。

4

3 に答える 3

7

サービスの作成のドキュメントから引用

サービスを登録するには、このサービスが含まれるモジュールが必要です。

だから答えはノーだと思います。

于 2013-08-19T17:07:04.420 に答える
1

それは私がまったく理解していない角度のある概念です。私は常に「分離」が良いと信じていたので、サービスを特定のアプリケーションに関連付ける必要がある理由がわかりません。

ここで私がしていること: angularjs アプリケーションをグローバル オブジェクトとして宣言できます。

window.markrApplication = angular.module('markrOptionsApp', ....)

そして、次のようにすべてのサービスを宣言します。

markrApplication.service('data', ....

もちろん、すべての angularjs アプリケーションにすべての依存関係を設定する必要があります。

于 2014-09-07T17:27:01.837 に答える