我正在使用AngularJS。我从ng-repeat
得到了奇怪的行为。我有一个控制器,它将数据返回给ng-repeat
,例如:
.....
//My other JS Functions
.....
var app = angular.module('main', ['ngTable']).
controller('DemoCtrl', function($scope, ngTableParams) {
var data = [
//data in JSON form
];
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 5 // count per page
}, {
total:data.length,
getData: function($defer, params) {
var slicedData = data.slice((params.page() - 1) * params.count(), params.page() * params.count());
alert(slicedData.length);
console.log(slicedData);
$defer.resolve(slicedData);
}
});
})
所以,现在有一点需要注意的是,在我传递给它之后,我得到了预期的数据:
$defer.resolve(slicedData);
所以,这里似乎没有问题,因为它传递了所需的数据。
现在,我有ng-repeat
,我以表格的形式显示数据,如:
<table ng-table="tableParams" class="table ng-table-responsive">
<tr ng-repeat="d in $data">
<td data-title="Name">
{{d.id}}
</td>
<td data-title="length">{{$data.length}}</td>
<td data-title="Age">
{{d.ciscoID}}
</td>
</tr>
</table>
所以,这里我得到的精确长度是5.但是显示的记录(行)数是25(5 * 5),每行显示五次。同样,如果我将计数设置为10,那么每条记录将显示十次。
我无法理解这种情况为
<td data-title="length">{{$data.length}}</td>
给我正确的长度,然后它也应该正确迭代。
P.S。控制器中的getData()
方法被调用了两次,不知道为什么?
对此有任何帮助/指导将受到高度赞赏。谢谢: - )
答案 0 :(得分:0)
这个问题只是通过更换&#39; JS&#39;来解决。和&#39; CSS&#39;最新的文件。