如何正确事务使用AngularJs分页插件?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
1.自由设定每页显示的条目;
2.可以手动输入页面,跳转到指定的页数。
html代码
<div class="pagination-define p20 mt20" ng-hide="totalItems==0">
<select ng-model="perPageSize" ng-change="pageChanged({currentPage:currentPage,perPageSize:perPageSize})" >
<option value=10 ng-selected="perPageSize==10">10</option>
<option value=20>20</option>
<option value=30>30</option>
<option value=50>50</option>
<option value=100>100</option>
</select>
<uib-pagination items-per-page="numPerPage" total-items="totalItems" ng-model="currentPage" ng-change="pageChanged({currentPage:currentPage,perPageSize:perPageSize})" max-size="5" class="pagination-sm" boundary-link-numbers="true" boundary-links="true" rotate="false" previous-text="‹" next-text="›" first-text="«" last-text="»"></uib-pagination>
<input type="text" ng-model="inputCurPage" min=1 cus-max-number ="{{maxPages}}" current-page="{{currentPage}}">
<button class="btn btn-info btn-30h" ng-click="pageChanged({currentPage:inputCurPage,perPageSize:perPageSize})" ng-disabled="inputCurPage==''||submitting">Go</button>
</div>
css代码
.pagination-define{
text-align: center
}
.pagination-define input, .pagination-define select {
padding-left: 3px;
height: 30px;
vertical-align: top;
border: 1px solid #ccc;
border-radius: 4px;
width: 50px;
}
.pagination {
margin: 0;
}
.pagination-define .btn-30h {
vertical-align: top;
}
.btn-30h {
padding-top: 4px;
padding-bottom: 4px;
}
Javascript代码
app.directive('cusMaxNumber', ['$timeout', function ($timeout) {
return {
restrict: 'EA',
require: 'ngModel',
scope: {
maxNumber: '@cusMaxNumber',
currentPage: '@currentPage'
},
link: function (scope, element, attr, ctrl) {
ctrl.$parsers.push(function (viewValue) {
var maxNumber = parseInt(scope.maxNumber, 10);
var curNumber = scope.currentPage; //当前页数
var transformedInput = viewValue.replace(/[^0-9]/g, '');
if (transformedInput !== viewValue||parseInt(transformedInput,10)<1||parseInt(transformedInput,10)>maxNumber) {
ctrl.$setViewValue(curNumber);
ctrl.$render();
return curNumber;
}
return viewValue;
});
}
};
}])
.directive('cusPagination',[function(){
return {
restrict: "E",
templateUrl: 'views/template/pagination.html',
scope: {
numPerPage: "=numPerPage",
totalItems: "=totalItems",
currentPage: "=cusCurrentPage",
perPageSize:"=perPageSize",
inputCurPage:"=inputCurPage",
maxPages:"=maxPages",
pageChanged: "&pageChanged"
},
replace: false
};
}]);
看完上述内容,你们掌握如何正确事务使用AngularJs分页插件的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。