具有AngularUI Bootsrap分页指令的AngularJS不会隐藏结果 [英] AngularJS with AngularUI Bootsrap pagination directive doesn't hide results
本文介绍了具有AngularUI Bootsrap分页指令的AngularJS不会隐藏结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试第一次使用Angular-ui分页指令,并且对为什么它不起作用感到困惑.我可以看到分页按钮,由于有8个结果和items-per-page="5"
,它可以正确显示两页以进行分页,但是我的所有数据项都在显示,并且每页都没有被隐藏.
I'm trying to use Angular-ui pagination directive for the first time and am confused why it isn't working. I can see the pagination buttons and it properly displays two pages to paginate through since there are 8 results and items-per-page="5"
But all my data items are showing and not being hidden to five per page.
控制器
dataService.get(uri).then(function (data) {
$scope.testimonials = data;
$scope.totalItems = $scope.testimonials.length;
$scope.currentPage = 1;
$scope.setPage = function(pageNo) {
$scope.currentPage = pageNo;
};
$scope.pageChanged = function() {
console.log('Page changed to: ' + $scope.currentPage);
}
});
视图
<table class="table table-striped" ng-show="testimonials.length">
<thead>
<th>Name</th>
<th>Message</th>
</thead>
<tbody>
<tr ng-repeat="testimonial in testimonials">
<td>{{testimonial.name}}</td>
<td>{{testimonial.message}}</td>
<td><a href="testimonials/{{testimonial.id}}" class="btn btn-primary">Edit</a></td>
<td><button class="btn btn-danger" ng-click="delete(testimonial)">Delete</button></td>
</tr>
</tbody>
<pagination total-items="totalItems" ng-model="currentPage" items-per-page="5" ng-change="pageChanged()"></pagination>
</table>
我感谢任何建议,谢谢!
I appreciate any advice, thanks!
推荐答案
您需要在下面的ng-reapeter代码中使用过滤器数据
Yo need filter data in your ng-reapeter code below should works
<table class="table table-striped" ng-show="testimonials.length">
<thead>
<th>Name</th>
<th>Message</th>
</thead>
<tbody>
<tr ng-repeat="testimonial in testimonials | startFrom: (currentPage-1)*5| limitTo: 5">
<td>{{testimonial.name}}</td>
<td>{{testimonial.message}}</td>
<td><a href="testimonials/{{testimonial.id}}" class="btn btn-primary">Edit</a></td>
<td><button class="btn btn-danger" ng-click="delete(testimonial)">Delete</button></td>
</tr>
</tbody>
<pagination total-items="totalItems" ng-model="currentPage" items-per-page="5" ng-change="pageChanged()"></pagination>
</table>
过滤器始于:
app.filter('startFrom', function () {
return function (input, start) {
if (input === undefined || input === null || input.length === 0
|| start === undefined || start === null || start.length === 0 || start === NaN) return [];
start = +start; //parse to int
try {
var result = input.slice(start);
return result;
} catch (e) {
// alert(input);
}
}
});
这篇关于具有AngularUI Bootsrap分页指令的AngularJS不会隐藏结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文