我尝试在角度控制器中使用.then()
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;
};
});
});
但是给我一个错误
Error: Products.get(...).then is not a function
服务
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: { ... } */
} );
}]);
我做错了什么?
答案 0 :(得分:19)
你必须从资源中获得$ promise。像这样:
Products.get().$promise.then(..)
答案 1 :(得分:7)
或者您可以将其他语法与回调
一起使用Products.get({},function(response) {
});