ngResource集合返回

时间:2015-05-15 04:33:15

标签: javascript angularjs

如何从数组$scope.trailers获取单个结果。当我尝试通过$scope.trailers[0]访问第一个索引时,我得到了未定义。我正在使用ngResource来进行API调用

        function getTrailers(pageNo){
            pageNo = typeof pageNo !== 'undefined' ? pageNo : 1;
            $scope.trailers = apiservice.getTrailers().query({page: pageNo});

            vm.trailer = $scope.trailers[0];
        };

$ scope.trailers结构:http://imgur.com/sLD4TUO

我发现它因为异步而无法正常工作。我如何在查询getTrailers函数上做出承诺?

2 个答案:

答案 0 :(得分:0)

访问数组中的第一个结果将是$ scope.trailers [0],因此您必须检查数组是否已填充或数组是否与数组相关联。

如果它是关联的数组,那么你必须使用字符串作为键/索引而不是数字。例如:$ scope.trailers [“numberone”]

如果你不知道密钥,那么你可以使用以下代码

for (var key in $scope.trailers) {
console.log($scope.trailers[key]);
}

答案 1 :(得分:0)

要解决我必须使用$ resource $ promise

           vm.trailers = getTrailers().$promise.then(function(data){
                vm.trailers = data;
                vm.trailer = vm.trailers[0];
            });

        function getTrailers(pageNo){
            pageNo = typeof pageNo !== 'undefined' ? pageNo : 1;
            return apiservice.getTrailers().query({page: pageNo});
        }