2015-03-31 1 views
0

У меня есть Product.js файл гдеНе удается вызвать API-сервисы, когда что-то находится между контроллером и службой в AngularJS?

var productOPS = { 

    GetProduct: function() {    

     var promiseGet = getProducts();  
    }}; 

Теперь я хочу, чтобы вызвать ProductService.js

app.service('crudService', function ($http) { 

    ///product GET 

    this.getProducts = function() { 
     return $http.get("/api/ProductsAPI"); 
    } 

    ///end product  

}); 

И ProductController.js является

app.controller('crudController', function ($scope, crudService) { 

    GetProducts(); 

    //Function to load all Employee records 
    function GetProducts() 
    { 

     productOPS.GetProduct(); 
    } } }); 

Как могу ли я вызвать Se rvice из GetProduct of Products.js и передать значение обратно в ProductController

Ошибка: getProducts() не определен.

+0

Почему вы используете отдельный файл product.js? – sms

+0

, потому что, как только данные будут получены, мне нужно сделать еще несколько операций с данными. Что выглядит неприятно в контроллере.js ... вот почему я хочу иметь отдельный JS-файл –

+0

Где вы связываете Product.js и файл вашего контроллера? – sms

ответ

1

сервис должен возвращать объект

app.service('crudService', function ($http) { 
    return { 
     getProducts: function() { 
      return $http.get("/api/ProductsAPI"); 
     } 
}); 

, а затем в контроллере вы можете подать в суд на это так:

app.controller('crudController', function ($scope, crudService) { 
    crudService.getProducts().then(function(response){ 
    $scope.products = response.data 
    }); 
}); 

$http возвращается обещание, поэтому я тогда, но вы можете сделать успех или то, что вам want

+0

Не могу получить результат службы в отдельном JS-файле. Мне нужно обработать это –

+0

Не имеет значения, является ли это отдельным файлом, если он является областью действия одного и того же приложения – maurycy

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