2016-07-29 5 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. Это поможет обеспечить ответ, о котором могут узнать будущие зрители. См. [Ответ] для получения дополнительной информации. –

 Смежные вопросы

  • Нет связанных вопросов^_^