2016-07-29 69 views
0

使用第三方库这是我厂:的角度工厂

.factory('DataService',['$http',function($http, Backand){ 
    var data = []; 
    return { 
     GetData: function(){ 
      return $http.get(Backand.getApiUrl() + '/1/objects/details').then(function(response){ 
       data = response; 
       return response; 
      }); 
     }, 
     GetElem: function(personId){ 
      for(i=0;i<data.length;i++){ 
       if(data[i].id == personId){ 
        return data[i]; 
       } 
      } 
     } 
    } 

}]); 

现在的问题。第三方库Backand正确注入,但我得到的错误:Cannot read property 'getApiUrl' of undefined

所以Backand是未定义的。当我在控制器中使用Backand时,一切正常。

我应该怎么做才能解决这个问题?

回答

2

你缺少Backand,同时注入

更改此:

.factory('DataService',['$http',function($http, Backand){ 

这样:

.factory('DataService',['$http', 'Backand',function($http, Backand){ 

希望这会为你工作。

-1
.factory('DataService',['$http, 'Backand',function($http, Backand){ 
    // correctly injected Backand 
}]); 
+0

不,现在也不正确,因为引号是错误的。 – dfsq

+0

请为此代码添加一些解释来帮助OP。这将有助于提供未来观众可以从中学习的答案。有关更多信息,请参阅[答案]。 –