Angularjs 角度搜索计数器和分页

Angularjs 角度搜索计数器和分页,angularjs,search,pagination,Angularjs,Search,Pagination,我已经开始在mvc中使用Angular.js进行编码,我有两个问题 -第一个问题是,搜索计算的是info json数据中的条目数,而不是筛选表后显示的条目数。如果当前显示一个结果,则标签应计算一个 -此外,如果任何人知道如何做分页,任何帮助将非常感谢 <script> var MyApp = angular.module('MyApp', []); MyApp.controller('MyAppCtrl', function ($

我已经开始在mvc中使用Angular.js进行编码,我有两个问题

-第一个问题是,搜索计算的是info json数据中的条目数,而不是筛选表后显示的条目数。如果当前显示一个结果,则标签应计算一个

-此外,如果任何人知道如何做分页,任何帮助将非常感谢

   <script>
            var MyApp = angular.module('MyApp', []);
            MyApp.controller('MyAppCtrl', function ($scope) {
                $scope.Info = [
                  { "date":"23/09/2014","name": "john", "detail": "sssss" },
                  { "date": "27/09/2014", "name": "mary", "detail": "gggggg"  }


                ];


        </script>
        <div class="container" ng-app="MyApp">
            <div class="row" style="padding-top: 60px">
                <div class="panel panel-warning">
                    <div class="panel-heading">Home

                    </div>
                    <div class="panel-body">

                        @*  left *@
                        <div class="col-md-4">
                            <div class="">

                                <div class="butLay">
                                    @Html.ActionLink("Reminders", "Reminders", null, new { @class = "btn btn-warning btn-md" })
                                </div>
                            </div>
                            <div class="butLay">



                                @Html.ActionLink("Expected customer", "Expectedcustomer", null, new { @class = "btn btn-info btn-md" })
                            </div>

                        </div>


                        @*  Right side*@
                        <div class="pr col-md-6" ng-controller="MyAppCtrl">
                            Search:<input ng-model="query" type="text" />
                            <span class="label label-info">{{Info.length}} </span>
                            <table class="table table-striped table-hover ">
                                <thead>
                                    <tr>
                                        <th><a href="" ng-click="sortField = 'date'; reverse = !reverse">Date</a></th>
                                        <th><a href="" ng-click="sortField = 'name'; reverse = !reverse">Name</a></th>
                                        <th><a href="" ng-click="sortField = 'detail'; reverse = !reverse">detail</a></th>
                                    </tr>
                                </thead>
                                <tbody>


                                    <tr ng-repeat="custom in Info| filter:query | orderBy:sortField:reverse">
                                        <td>{{custom.date}}</td>
                                        <td>{{custom.name}}</td>
                                        <td>{{custom.detail}}</td>              
                                    </tr>                   
                                </tbody>
                            </table>
                            @*<ul class="pagination pagination-sm">
                                <li class="disabled"><a href="#">«</a></li>
                                <li><a href="#">1</a></li>
                                <li><a href="#">2</a></li>
                                <li><a href="#">3</a></li>
                                <li><a href="#">4</a></li>
                                <li><a href="#">5</a></li>
                                <li><a href="#">»</a></li>
                            @*</ul>*@


                        </div>

                    </div>
                    <table class="table table-condensed table-hover table-striped"></table>
                </div>
                @* of panel *@
            </div>
            @*of row*@
        </div>
        @* of container *@

var MyApp=angular.module('MyApp',[]);
MyApp.controller('MyAppCtrl',函数($scope){
$scope.Info=[
{“日期”:“2014年9月23日”,“姓名”:“约翰”,“详情”:“SSS”},
{“日期”:“2014年9月27日”,“姓名”:“玛丽”,“详情”:“gggggg”}
];
家
@*左*@
@ActionLink(“提醒”,“提醒”,空,新{@class=“btn btn warning btn md”})
@ActionLink(“预期客户”,“预期客户”,null,新{@class=“btn btn info btn md”})
@*右侧*@
搜索:
{{Info.length}
{{custom.date}
{{custom.name}
{{custom.detail}}
@*
  • @*
*@ @*面板的*@ @*一排*@ @*集装箱*@
您可以使用另一个模型来保存页面结果。例如,您总共有55个信息对象,如果您希望页面大小(一次显示的表行大小)为20,则将有3个页面,其中包含20、20和5个条目。模板中要迭代的模型应该是保存页面对象的模型

var PAGESIZE = 20;
....
....
var startIndex, stopIndex = 0, stopIndex + PAGESIZE;
$scope.pagedInfo = [];

$scope.nextPage = function(start, stop) {
    $scope.startIndex += PAGESIZE;
    $scope.stopIndex += PAGESIZE;
    $scope.pagedInfo = $scope.Info.slice($scope.startIndex, $scope.stopIndex);
}

然后在模板中,您可以迭代此
pagedInfo
而不是
Info
。您将有一些按钮或链接或任何其他适当的UI元素转到下一页/上一页。添加单击(或任何其他适当的evet)将触发下一页函数的处理程序。您也可以为上一页创建类似的函数。

您的第一点有点不清楚。谢谢,我希望我现在解释得更好。不是真的,它仍然很混乱。也许您可以尝试另一种方法。首先尽可能简洁,然后在下一句中解释细节?