0

下面我有一个名为 Position 的工厂,它返回整个应用程序需要使用的关于用户当前位置和其他模型的数据。在那之下是一个名为 Romanize 的服务,它联系一个提供一种翻译的外部 URL,但 Romanize 需要访问 Position 提供的应用程序数据。我尝试使用通常的 DI,但它失败了。如何将 Position 作为依赖项注入 Romanize?

app.factory('Position', function(){
    return{
      questionNumber: 0,
      tutorialNumber: 0,
      sectionNumber: 0,
      sections: sections
    }
});

app.factory('Romanize', ['$http', 'Position', function($http){
    alert(Position);
    return{
      Position: Position,
      get: function(){
          $http.get(Position.sections[Position.sectionNumber].romanizeService).success(function(data) {
                return data;
            });
        }
    };
}]);
4

1 回答 1

4

您错过了Position在 Romanize 工厂函数中添加为参数。

app.factory('Romanize', ['$http', 'Position', function($http, Position){

string'Position'告诉 Angular 注入位置服务作为第二个参数($http服务是第一个)。

于 2013-03-13T18:29:40.697 回答