2014-06-28 13 views
6

tôi cố gắng sử dụng .Sau đó() trong bộ điều khiển góc của tôi.Sau đó góc() không được công nhận

angular.module('n2goApp') 
     .controller('MainCtrl', function($scope, Products) {   
       Products.get(). then(function (response) { 
        $scope.data = response; 
        console.log(response); 
        $scope.totalPages = response.TotalPages; 
        $scope.totalItems = response.total; 
        $scope.products = response.data; 
        $scope.currentPage = response.current_page; 
        $scope.maxSize = 5; 
        $scope.setPage = function(pageNo) { 
         $scope.currentPage = pageNo; 
        }; 
       }); 
}); 

nhưng giảm cho tôi một lỗi

Error: Products.get(...).then is not a function 

Dịch vụ

angular.module('n2goApp') 
    .service('N2goservice', function N2goservice() { 
    // AngularJS will instantiate a singleton by calling "new" on this function 
    }).factory('Products', ['$resource', function($resource) { 

     var url = 'http://domain.com/api/products'; 
    return $resource(url + '/:prodID', 
     { bookId: '@prodID' }, { 
      loan: { 
       method: 'PUT', 
       params: { prodId: '@prodID' }, 
       isArray: false 
      }, 
         get:{ 
          method: 'GET', 
       params: { 
           prodId: '@prodID', 
           page:'@page' 
           }, 
       isArray: false 
         } 
      /* , method3: { ... } */ 
     }); 

}]); 

Tôi đang làm gì sai?

+0

Bạn có thể cung cấp mã của dịch vụ Sản phẩm? – cuttlas

+0

thêm dịch vụ để đăng – fefe

Trả lời

18

Bạn phải nhận lời hứa $ từ tài nguyên. Như thế này:

Products.get().$promise.then(..) 
+1

thnak u cho các công trình phản hồi! – fefe

7

Hoặc bạn có thể sử dụng cú pháp khác với callback

Products.get({},function(response) { 
}); 
+1

thnak u cho phản hồi hoạt động! – fefe

Các vấn đề liên quan