Home  >  Article  >  Web Front-end  >  Detailed example of Angular Js paging display data

Detailed example of Angular Js paging display data

小云云
小云云Original
2018-02-27 14:17:081513browse

When working on projects, we often use paging to display data. In fact, the principle is very simple: every time you click on a (next/previous) page, a request is sent to the background to obtain relevant JSON data. What I am demonstrating here is that I Each request will be passed to the background with two parameters (pageSize – the data to be displayed on each page, pageNo – the current page number)

HTML related code:

<p id=&#39;demo&#39; ng-app=&#39;myApp&#39; ng-controller=&#39;myCtrl&#39;>
        <table>
            <thead>
                <th>序号</th>
                <th>操作人</th>
                <th>类别</th>
                <th>电话</th>
                <th>金额</th>
                <th>操作时间</th>
            </thead>
            <tbody>
            <tr ng-repeat="item in items">
                <td>{{$index+1}}</td>
                <td>{{item.operator}}</td>
                <td>{{item.type}}</td>
                <td>{{item.tell}}</td>
                <td>{{item.price}}</td>
                <td>{{item.operateTime}}</td>
            </tr>
            </tbody>
        </table>
        <p class="page">
            <span class="nextPage" ng-click="nextPage()">下一页</span>
            <span class="prevPage" ng-click="lastPage()">上一页</span>
            <span>{{cur}}/{{totalPage}} 页  共 {{totalNum}} 条记录</span>
        </p>
    </p>

CSS code will not be pasted It’s up, everyone can add it by themselves;
JS code:

var params={
        pageSize:10,
        pageNo:1
    };var curPage=1;var app = angular.module(&#39;myApp&#39;, []);
app.controller(&#39;myCtrl&#39;, function($scope,$http) {
   init($scope,$http);
})function search($http,$scope){
            params.pageNo=pageNo;            $http({
                method: &#39;GET&#39;,
                url:后台接口地址,
                params:params
            }).then(function successCallback(response) {
                // 数据总条数
                $scope.totalNum = response.data.totalNum;                // 数据总页数
                $scope.totalPage = response.data.totalPage;                // 数据当前页
                $scope.cur = curPage;                // 列表详细数据
                var content = response.data.contents;                for(var i in content){                    // 数据操作人
                    content[i].operator= content[i].operator;                    // 数据电话
                    content[i].tell= content[i].tell;                    // 数据类别
                    content[i].type = content[i].type;                    // 数据操作时间
                    content[i].operateTime = content[i].createTime;                    // 数据价格
                    content[i].price = content[i].price;
                }                $scope.items = content;
            }, function errorCallback(response) {
                // 请求失败执行代码
                if(response!=null)
                    error(response)
            });
        }function init($scope,$http){
        search($http,$scope);        $scope.nextPage=function(){
            nextPage($http,$scope);
        };        $scope.lastPage=function(){
            lastPage($http,$scope);
        };
    }// 点击上一页function lastPage($http,$scope){
    if(curPage>1){
        curPage--;
        search($http,$scope);
    }
}// 点击下一页function nextPage($http,$scope){
    if(curPage<totalPage){
        curPage++;
        search($http,$scope);
    }
 }

**注意**1、如果在你的项目里有根据数据前面的序号来删除某条数据,建议看下这篇博文[Angular Js中$index的小心使用](http://blog.csdn.net/renfufei/article/details/43061877)2、如果你的项目后台传过来的数据没有经过处理是全部的数据可以参考这篇博文[Angular Js表格分页](http://www.cnblogs.com/smilecoder/p/6519833.html)

                                                                                                                                                                                                            ​ Next/Previous page), send a request to the background to obtain relevant JSON data. What I demonstrate here is that each request will be passed to the background with two parameters (pageSize – the data to be displayed on each page, pageNo – the current page number). This Share the relevant content in this article;

HTML related code:

<p id=&#39;demo&#39; ng-app=&#39;myApp&#39; ng-controller=&#39;myCtrl&#39;>
        <table>
            <thead>
                <th>序号</th>
                <th>操作人</th>
                <th>类别</th>
                <th>电话</th>
                <th>金额</th>
                <th>操作时间</th>
            </thead>
            <tbody>
            <tr ng-repeat="item in items">
                <td>{{$index+1}}</td>
                <td>{{item.operator}}</td>
                <td>{{item.type}}</td>
                <td>{{item.tell}}</td>
                <td>{{item.price}}</td>
                <td>{{item.operateTime}}</td>
            </tr>
            </tbody>
        </table>
        <p class="page">
            <span class="nextPage" ng-click="nextPage()">下一页</span>
            <span class="prevPage" ng-click="lastPage()">上一页</span>
            <span>{{cur}}/{{totalPage}} 页  共 {{totalNum}} 条记录</span>
        </p>
    </p>

The CSS code will not be posted, please add it yourself;

JS code:

var params={
        pageSize:10,
        pageNo:1
    };var curPage=1;var app = angular.module(&#39;myApp&#39;, []);
app.controller(&#39;myCtrl&#39;, function($scope,$http) {
   init($scope,$http);
})function search($http,$scope){
            params.pageNo=pageNo;            $http({
                method: &#39;GET&#39;,
                url:后台接口地址,
                params:params
            }).then(function successCallback(response) {
                // 数据总条数
                $scope.totalNum = response.data.totalNum;                // 数据总页数
                $scope.totalPage = response.data.totalPage;                // 数据当前页
                $scope.cur = curPage;                // 列表详细数据
                var content = response.data.contents;                for(var i in content){                    // 数据操作人
                    content[i].operator= content[i].operator;                    // 数据电话
                    content[i].tell= content[i].tell;                    // 数据类别
                    content[i].type = content[i].type;                    // 数据操作时间
                    content[i].operateTime = content[i].createTime;                    // 数据价格
                    content[i].price = content[i].price;
                }                $scope.items = content;
            }, function errorCallback(response) {
                // 请求失败执行代码
                if(response!=null)
                    error(response)
            });
        }function init($scope,$http){
        search($http,$scope);        $scope.nextPage=function(){
            nextPage($http,$scope);
        };        $scope.lastPage=function(){
            lastPage($http,$scope);
        };
    }// 点击上一页function lastPage($http,$scope){
    if(curPage>1){
        curPage--;
        search($http,$scope);
    }
}// 点击下一页function nextPage($http,$scope){
    if(curPage<totalPage){
        curPage++;
        search($http,$scope);
    }
 }

**注意**1、如果在你的项目里有根据数据前面的序号来删除某条数据,建议看下这篇博文[Angular Js中$index的小心使用](http://blog.csdn.net/renfufei/article/details/43061877)2、如果你的项目后台传过来的数据没有经过处理是全部的数据可以参考这篇博文[Angular Js表格分页](http://www.cnblogs.com/smilecoder/p/6519833.html)

Related recommendations:

PHP example code: AJAX paging display data_PHP tutorial

jQuery+Ajax+PHP+Mysql implementation of paging display data example explanation_jquery

PHP example code: AJAX paging display data

The above is the detailed content of Detailed example of Angular Js paging display data. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn