在我的Angularjs ng-repeat中只有一个对象,字段减少实际上我在这个对象中有超过40个。如果我有40个字段,则渲染40个空输出(参见下面的输出)。
{"Name": "Raj", "Gender":"M", "Country": "India"} (ONLY ONE OBJECT)
角度视图
<table ng-repeat="emp in model.Employee">
<tr>
<td><strong>Name:</strong></td>
<td>{{emp.Name}}</td>
</tr>
<tr>
<td><strong>Gender:</strong></td>
<td>{{emp.Gender}}</td>
</tr>
</table>
例外输出
Name: Raj
Gender: M
但实际的输出是三次没有价值。
Name:
Gender:
Name:
Gender:
Name:
Gender:
答案 0 :(得分:2)
这种情况正在发生,因为您正在迭代对象而不是数组。因此,ngRepeat
循环将运行与对象中的键一样多次。因为,对象中有三个键,循环运行三次。此外,emp
(可迭代)是键('名称','性别','国家')而不是完整对象。
更改为:
[{"Name": "Raj", "Gender":"M", "Country": "India"}]
答案 1 :(得分:0)
您可以使用(键,值)来实现此目的。
var app = angular.module("app",[])
app.controller('ctrl',['$scope', function($scope){
$scope.data ={"Name": "Raj", "Gender":"M", "Country": "India"};
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<div class="item item-checkbox">
<table >
<tr ng-repeat="(key,value) in data" ng-if="key != 'Country'">
<td>{{key}}</td>
<td>{{value}}</td>
</tr>
</table>
</div>