Angularjs push.apply不在AngulaJS forEach上工作

Angularjs push.apply不在AngulaJS forEach上工作,angularjs,Angularjs,我正在尝试使用AngularJS的forEach循环创建多维对象 $scope.area_element = []; $http({method: 'GET', url: 'api/elements'}). then(function(res){ $scope.elements = res.data; angular.forEach($scope.elements, function(itemE){ $scope.area_ele

我正在尝试使用AngularJS的forEach循环创建多维对象

$scope.area_element = [];

$http({method: 'GET', url: 'api/elements'}).
    then(function(res){
        $scope.elements = res.data;
        angular.forEach($scope.elements, function(itemE){
            $scope.area_element.push({cost_element: itemE.cost_element, element_desc: itemE.element_desc});
            angular.forEach($scope.pm_area_ae, function(item, key){
                $http.get('api/work_ordersmae/'+ $rootScope.isNum +'/'+ $scope.itemC+'/'+ item.rnem_area +'/'+ itemE.cost_element).
                    success(function(data, status, headers, config){
                    $scope.area_element.push.apply($scope.area_element, data);
                });


            });

        });

});
<pre><div class="row col-sm-12">
    <table class="table table-hover">
      <thead>
        <tr>
          <th>Cost Element</th>
          <th class="text-center" ng-repeat="ar in pm_area_ae">{{ar.rnem_area}}</th>
        </tr>
      </thead>
      <tbody>
        <tr ng-repeat="e in area_element">
          <td>{{e.cost_element}} {{e.element_desc}}</td>
          <td class="text-right" ng-repeat="elem in e">{{elem.area_cost}}</td>
        </tr>
      </tbody>
    </table>
</div></pre>
HTML

它不起作用。区域成本值未显示。但我在控制台日志中得到了多个[object]


我正在使用push.apply;对于这种类型的函数正确吗?提前感谢

这取决于数据是否是要应用于推送方法的参数数组。如果数据只是一个对象,那么您可能希望使用$scope.area\u element.push.call$scope.area\u element,而不是数据。如果数据可以是单个对象或项目数组,则使用:$scope.area\u element.push.apply$scope.area\u element、[].concatdata;为什么要使用push.apply,因为您已经给出了此上下文,我希望它是这样的[{cost_元素:'602',rnem_区域:{area:'nl1',area_cost:'2000'},{area:'nl2',area_cost:'1000'}]