角度分页 - 更新数据onclick

Nik*_*ikZ 13 paging angularjs

我正试图在角/引导网站上实现分页.我的数据显示正确的每页行数#,我有角度分页显示正确的页面数...但是如果我能找到任何地方告诉我如何使用分页来刷新我的数据页面#被点击了......?!{{currentPage}}正在更新,但不知道如何让它调用getPresentations来更新列表.

<div>
        {{noOfPages}} &nbsp; {{currentPage}} &nbsp; {{maxSize}}
        <pagination num-pages="noOfPages" current-page="currentPage"></pagination>
    </div>

<script type="text/javascript">
    angular.module('app', ['ui', 'shared', 'ui.bootstrap']).controller('AppCtl', function ($scope, $http, $window) {
        var mvc = $window.MVC;
        $scope.noOfPages = 0;
        $scope.currentPage = 1;
        $scope.maxSize = 5;

        $scope.getPresentations = function () {
            $http.get(mvc.base + "API/Presentations?page=" + $scope.currentPage + "&itemsPerPage=10")
               .success(function (result) {
                   $scope.presentations = result.Items;
                   $scope.noOfPages = result.TotalPages;
                   $scope.currentPage = result.Page;
               })
                .error(function (result, status) {
                    $scope.newModal.errors = mvc.getApiErrors(status, result);
                });
        };

        $scope.getPresentations();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

pko*_*rce 36

你有两个选择:

  • $watch 当前页面属性
  • 使用onSelectPage回调

这是与之相关的页面 $watch

  $scope.$watch('currentPage', function(newPage){
    $scope.watchPage = newPage;
    //or any other code here
  });
Run Code Online (Sandbox Code Playgroud)

这里有一个使用回调:

$scope.pageChanged = function(page) {
    $scope.callbackPage = page;
    $scope.watchPage = newPage;
  };
Run Code Online (Sandbox Code Playgroud)

用过:

<pagination on-select-page="pageChanged(page)" num-pages="noOfPages" current-page="currentPage"></pagination>    
Run Code Online (Sandbox Code Playgroud)

最后,工作插图显示了两种方法:http://plnkr.co/edit/UgOQo7? p = preview

  • 谢谢!我知道这不会太多......让我觉得他们没有将这部分包含在文档中. (4认同)
  • 您可以更新您的答案,以包括从"on-select-page"到"ng-change"的最新更改(请参阅下面的@ honkskillet的回答) (2认同)

hon*_*let 6

@ pkozlowski.opensource答案是正确的,除了最新版本的bootstrap已经在选择页面更改ng-change.