我目前正在开发一个 AngularJS 项目,我必须从服务器获取特定月份和年份的项目信息并将其显示给用户。
首先,我得到一个项目 ID (projectList) 的列表,它可以是可变的,然后我需要获取特定年份和月份的这些项目的信息。使用此代码,我试图在最后一个项目成功时获取数据并刷新数据。获取数据后,我使用 ng-repeat 将其显示给用户。
$scope.getData = function(){
$scope.projectInfoList = [];
for(var index=0; index < $scope.projectList.length; index++){
projectService.getProject($scope.model.year, $scope.model.month, parseInt($scope.projectList[index]) ).success(function(data){
var listInput = { projectID : $scope.projectList[index], data : data};
$scope.projectInfoList.push(listInput);
if(index == $scope.projectList.length - 1){
$scope.$apply();
}
});
};
}
这有2个错误。
- 它只将数据添加到最后一个索引。
- 当我请求另一个月或一年的数据时,它不会立即刷新数据
我已经用$q.all寻找解决方案,但我不确定如何将它与“projectService.getProject(..)”的可变数量的函数一起使用