angularjs與pagination插件實現分頁功能


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方法在此略過,不明白的小伙伴可以私信!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM