• angularjs中分页的应用


    应angular的spa项目需要,现后台管理系统中需要用到分页,于是就找到了这个基于bootstrap的分页,封装性很好,用起来也非常方便,这里是模拟的数据库数据,实际中只需要将模拟数据换成接口调用返回的数据即可,并且可以实现按页、按数量的按需加载,也可以全部加载,记得引入ui.bootstrap就可以了

    效果如图:

    下面是完整可直接运行的代码:

    <!DOCTYPE html>
    <html lang="en" ng-app="myApp">
    <head>
        <meta charset="UTF-8">
        <title>分页</title>
        <link rel="stylesheet" href="http://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css">
        <script src="http://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script>
    
        <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script src="http://cdn.bootcss.com/angular-ui-bootstrap/2.2.0/ui-bootstrap-tpls.js"></script>
        <style>
    
        </style>
        <script>
            angular.module('myApp',['ui.bootstrap']).controller("paginationCtrl",function($scope,$log){
                var vm=$scope;
                $scope.commenList=[
                    {index:'1',title:"标题1",content:'content 1'},
                    {index:'2',title:"标题2",content:'content 2'},
                    {index:'3',title:"标题3",content:'content 3'},
                    {index:'4',title:"标题4",content:'content 4'},
                    {index:'5',title:"标题5",content:'content 5'},
                    {index:'6',title:"标题6",content:'content 6'},
                    {index:'7',title:"标题7",content:'content 7'},
                    {index:'8',title:"标题8",content:'content 8'},
                    {index:'9',title:"标题9",content:'content 9'},
                    {index:'10',title:"标题10",content:'content 10'},
                    {index:'11',title:"标题11",content:'content 11'},
                    {index:'12',title:"标题12",content:'content 12'},
                    {index:'13',title:"标题13",content:'content 13'},
                    {index:'14',title:"标题14",content:'content 14'},
                    {index:'15',title:"标题15",content:'content 15'},
                    {index:'16',title:"标题16",content:'content 16'}
                ];
                $scope.sec=[{id:1,name:"1"},{id:2,name:"2"},{id:4,name:"4"}];
                $scope.totalItems=vm.commenList.length;
                $scope.currentPage=3;//当前页面数,设置默认进入的当前页面
                $scope.pageSize=5;//改变数值,每个页面拉的数据数目就会改变
                $scope.pageNum=Math.ceil($scope.totalItems/$scope.pageSize);//当前页面数
                $scope.allItem=[];
                for(var i=0;i<$scope.totalItems;i+=$scope.pageSize){
                    $scope.allItem.push($scope.commenList.slice(i,i+$scope.pageSize));
                }
                var getlist=function(){/*第一次进入页面获取数据,参数*/
                    var page= $scope.currentPage=1;
                    var size=$scope.pageSize=5;
                    $http(page,size)/*请求数据*/
                }
                $scope.pageChanged=function(){/*页码变化请求数据*/
                    console.log("$scope.page",$scope.currentPage,$scope.pageSize);/*  页码变化执行http请求   */
                    var page= $scope.currentPage;
                    var size=$scope.pageSize;
                    $http(page,size)/*请求数据*/
                }
            })
        </script>
    </head>
    <body>
    <div ng-controller="paginationCtrl">
        <div class="table">
            <table class="table table-striped">
                <thead>
                <tr>
                    <th>序号</th>
                    <th>title</th>
                    <th>内容</th>
                </tr>
                </thead>
                <tbody>
                <tr ng-repeat="item in allItem[currentPage-1]">
                    <td>{{item.index}}</td>
                    <td>{{item.title}}</td>
                    <td>{{item.content}}</td>
                </tr>
                </tbody>
            </table>
        </div>
        <div class="page">
            <ul uib-pagination
                boundary-links="true"
                class="pagination-lg"
                total-items="totalItems"
                ng-model="currentPage"
                items-per-page="pageSize"
                previous-text="&lsaquo;"
                next-text="&rsaquo;"
                first-text="&laquo;"
                last-text="&raquo;"
                max-size='3'
                boundary-link-numbers="true"
                ng-change='pageChanged()'
                    >
            </ul>
        </div>
    </div>
    </body>
    </html>
  • 相关阅读:
    SharePoint 2010 + Infopath 2010 VSTA + WF + Timer Job + BI 之 报销单实例系列创建报销单新增视图
    读取 SPFieldChoice 选项类型的三种方法 ,第三种方法目前有问题没有解决,请高手来解决一下
    Ubuntu SVN安装
    Hibernate注解使用以及Spring整合
    性能大提速 MyEclipse终极优化四要点
    MyEclipse运行错误解决办法:The Linux WYSIWYG design panel is still under development
    详细介绍Ubuntu VirtualBox的桥接网络配置
    Log4Net使用指南
    MyEclipse Java Build Path详解
    JSTL 核心标签库 使用
  • 原文地址:https://www.cnblogs.com/moqq/p/6432728.html
Copyright © 2020-2023  润新知