1

必要なデータを含む JSON オブジェクトを送り返す API を呼び出す AngularJS の最初のステップを実行しています。API を呼び出し、応答を取得して HTML に出力し、必要に応じて繰り返します。

しかし、実際のJavascriptファイルで、アイテムをグループ化して合計したり、JSONの実際の値をコンソールに出力したりする方法を見つけていません。

app.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 :(

            }
    };

index.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 に答える