2016-07-29 2 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]; 
       } 
      } 
     } 
    } 

}]); 

문제. 제 3 자 라이브러리 Backand 제대로 주입하지만 오류가 발생합니다 : Cannot read property 'getApiUrl' of undefined

그래서 백엔드는 정의되지 않았습니다. 컨트롤러에서 Backand를 사용할 때 모든 것이 잘 작동합니다.

이 문제를 해결하려면 어떻게해야합니까? 이에

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

:이 당신을 위해 작동합니다

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

희망

변경이 주입하면서

답변

2

당신은 Backand가 누락되었습니다.

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

인용 부호가 잘못 되었기 때문에 아니요, 지금도 정확하지 않습니다. – dfsq

+0

이 코드가 OP에 도움이되는 이유에 대한 설명을 추가해주십시오. 이렇게하면 미래의 시청자가 배울 수있는 답을 제공하는 데 도움이됩니다. 자세한 내용은 [답변]을 참조하십시오. –