Angularjs push.apply不在AngulaJS forEach上工作
我正在尝试使用AngularJS的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
$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'}]