В моем Angularjs ng-repeat есть только один объект, поля уменьшены, фактически у меня больше 40 в этом объекте. если у меня 40 полей, тогда 40 пустой вывод - рендеринг (см. ниже outout).
{"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:
Это происходит потому, что вы повторяете объект вместо массива. Таким образом, цикл ngRepeat
будет выполняться столько раз, сколько в вашем объекте есть ключи. Так как в объекте есть три ключа, цикл запускается трижды. Кроме того, emp
(iterable) является ключом ("Имя", "Пол", "Страна") вместо полного объекта.
Изменить на:
[{"Name": "Raj", "Gender":"M", "Country": "India"}]
вы можете использовать (ключ, значение) для этой цели.
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>
ng-repeat
on table? Должно быть наtr
.,