如何从数组$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函数上做出承诺?
答案 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});
}