如何从$ resource返回的对象获取记录数?

时间:2015-02-11 11:44:24

标签: angularjs count ngresource

我使用angular-resource从服务器获取数据,这是代码

var app = angular.module('app',[...]);

    app.factory('propertiesService', ['$resource', 'CONSTANTS',  function($resource, CONSTANTS) {
        var _default_url = CONSTANTS.HTTP.API_URL+"/properties/get";
        return $resource(_default_url);
    }]);

然后我在我的控制器中得到它

app.controller('propertiesSearchController', ['$scope' ,'$rootScope','propertiesService', function($scope, $rootScope, propertiesService) {
        $scope.properties = propertiesService.get();

    }]);

但现在在我的观点中,我无法知道它返回了多少记录

e.g {{ properties.length}}

但是我可以使用ng-repeat来获取视图中的数据。

2 个答案:

答案 0 :(得分:1)

事实证明这很容易,我正在返回OBJECT而不是ARRAY并且.length不能正常工作。将它转换为ARRAY有效。

答案 1 :(得分:-2)

资源服务使用回调,因此正确的方法是(假设您的资源端点正在工作):

app.controller('propertiesSearchController', ['$scope' ,'$rootScope','propertiesService', function($scope, $rootScope, propertiesService) {
    propertiesService.query(function(data) {
        $scope.prperties = data;
        console.log(data.length);
    });

}]);