3
function Greeter(a) {
  this.greet = function() {

    //How should I declare the dependency for e.g. $http so that I do a GET request here?
    return 'Hello ' + a;
  }
}


provider.service('greeter', Greeter);

上記の形式を使用している場合、クラス定義を作成し、表記法を使用してサービスを宣言します。egまたはその他の依存関係.serviceを使用するにはどうすればよいですか?$http

この AngularJS - サービス、ファクトリ、フィルターなどの依存性注入

サービスが宣言されている場所でサービスが定義されている場合に解決策を提供します。

4

3 に答える 3

2

これを試すこともできます(これも縮小化に安全です):

define([ 'components' ], function() {
  angular.module('components.services').provider('dateFormatService', function() {        
    var self = this;

    self.$get = ['aService', 'bService', function (aService, bService) {
      ...
    }
  });
});
于 2013-10-23T12:21:09.867 に答える
1

事前にクラス定義を定義するか、無名関数を使用するかは関係ありません。配列内の依存関係に注釈を付けることができます。

function Greeter(b) {
   //provider will inject 'a' service as variable of any name, in this case it's 'b'
}

provider.service('greeter', ['a', Greeter]);

.$injectまたは、プロパティを使用できます。

function Greeter(a) {...}
Greeter.$inject = ['a']; 
于 2013-10-23T11:53:01.463 に答える