angularjs與pagination插件可以完美實現前端的分頁,篩選,搜索等功能,前提當然需要有后台開發配合,今天我們只說前端實現:
1、引入pagination插件,在angularjs引入之前先加載pagination插件;
2、在定義controller的時候,需要注入pagination插件;
3、分頁前端原理基本需要有個默認異步請求,當點擊分頁,再次請求數據並向后台發送當前頁碼,如果有搜索數據或者篩選數據功能,在發送請求的同時需要帶上與后台開發共同定義的搜索參數;
4、廢話不多上,上代碼,基本模板:
var url = '請求路徑'; $http({ method:"post", url:url }).success(function(_data) { $scope.contentlist = _.data.items;//數據列表 $scope.pageparameters = _data.data; $scope.Searchparameters = { //定義你的搜索參數 } // 初始化分頁數據 var pagination; $scope.paginationInt = function($data) { pagination = $scope.pagination = Pagination.create({ itemsCount: $data.total_items, // 總數 itemsPerPage: $data.epage, // 每頁條數 currentPage: $data.page // 當前頁碼 }); // 分頁操作 pagination.onChange = function(page) { $scope.page(page); }; }; $scope.paginationInt($scope.pageparameters); // 篩選過濾列表頁時傳遞的參數 $scope.borrowSearch = function(type, val) { $scope.borrowData[type] = val; $scope.page(1);//每次搜索都從第一頁開始 }; // 排序 $scope.SearchTab = {}; $scope.SearchStatus = true; $scope.current = { //你的參數 }; // 頁碼跳轉操作 $scope.skipInput = function(page, endPage) { if (!isNaN(page)) { var page = parseInt(page, 20), endPage = parseInt(endPage, 20); if (page > endPage || page <= 0) { $scope.skipError = true; } else { $scope.skipError = false; } } else { $scope.skipError = true; } }; $scope.page = function(page) { $scope.Searchparameters.current_page = page;
// 分頁方法
$http({ url:url, method:"post", params:$scope.Searchparameters }).success(function(data) { $scope.contentlist = data.items; }); }; });
HTML方法在此略過,不明白的小伙伴可以私信!