ホームページ > ウェブフロントエンド > jsチュートリアル > Angular Jsページング表示データの詳細例

Angular Jsページング表示データの詳細例

小云云
リリース: 2018-02-27 14:17:08
オリジナル
1548 人が閲覧しました

プロジェクトに取り組んでいるとき、データを表示するためにページングを使用することがよくあります。実際、原理は非常に単純です。ページ (次/前) がクリックされるたびに、関連する JSON データを取得するためのリクエストがバックグラウンドに送信されます。ここでの例は、毎回、リクエストが 2 つのパラメーター (pageSize – 各ページに表示されるデータ、pageNo – 現在のページ番号) とともにバックグラウンドに渡されることを示しています。

HTML 関連コード:

<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 コードは、投稿されないため、自分で追加してください。
JS コード:

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)
ログイン後にコピー
ログイン後にコピー

项目は、プロジェクトを実行するときにデータを表示するためにページをよく使用します。実際、原理は非常に単純です。(下/上) をクリックするたびに。 )、バックグラウンド リクエストにリクエストを送信して、関連する JSON データを取得します。ここで説明するのは、リクエストするたびに、2 つのパラメーター (pageSize – 各ページに表示されるデータ、pageNo – 現在のページ) がバックグラウンドに渡されることです。この記事では、関連するコンテンツを共有します。

HTML 関連コード:

<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 コードはここには掲載されません。

JS コード:

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)
ログイン後にコピー
ログイン後にコピー

関連する推奨事項:

PHP コード: AJAX ページネーションデータ表示_PHP チュートリアル

jQuery+Ajax+PHP+Mysql によるページネーションデータ表示例解説_jquery

PHP サンプルコード: AJAX ページネーション表示データ

以上がAngular Jsページング表示データの詳細例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート