1

我正在使用 AngularJS 迈出第一步,调用一个 API,该 API 将返回一个带有我需要的数据的 JSON 对象。我调用 API 并获取响应并将其打印在 HTML 上,并根据需要进行迭代。

但是我还没有在实际的 Javascript 文件上找到一种方法,可以迭代让我们说,对项目进行分组和求和,或者将 JSON 的实际值打印到控制台。

应用程序.js

    angular.module('dashboard', ['ngResource']);
    function DashboardCtrl($scope, $resource) {
        $scope.dailyReports = $resource('http://myurl.com/app_dev.php/:action',
            {action:'dailyreports', appid:'@appid', begindate:'@begindate', enddate:'@enddate'});


    $scope.loadData = function() {
            $scope.dailyreportsResults = $scope.dailyReports.get({appid:$('#sel-apps').val(), begindate:$('#fecha-inicial').val(), enddate:$('#fecha-final').val()});
//it works!!!!
        };

$scope.iterate = function() {

            for (i=0; i < $scope.dailyreportsResults.data.length; i++){
                    $scope.periodUnits += $scope.dailyreportsResults.data[i].units;
                    console.log($scope.periodUnits);
                    //It doesnt work :(

            }
    };

索引.html

ng-repeat="data in dailyreportsResults.data"
   {{data.countryName}}
   {{data.units}}

我究竟做错了什么?

多谢你们!

4

1 回答 1

1

我不确定您的数据是什么样的,但也许您应该使用“for in”而不是递增数组。

$scope.iterate = function() {
  for (x in $scope.dailyreportsResults.data){
    $scope.periodUnits += $scope.dailyreportsResults.data[x].units;
    console.log($scope.periodUnits);
  }
};

另外,我认为您的 ng-repeat 应该附加到一个元素。

<div ng-repeat="data in dailyreportsResults.data">
   {{data.countryName}}
   {{data.units}}
</div>
于 2013-02-27T22:20:28.517 回答