2013-02-25 23 views
13

Tôi đang cố triển khai phân trang trên trang web góc/bootstrap. Tôi có dữ liệu hiển thị với đúng số hàng trên mỗi trang, tôi có phân trang góc hiển thị đúng số trang ... nhưng nếu tôi có thể tìm thấy bất kỳ nơi nào cho tôi biết CÁCH sử dụng phân trang để làm mới dữ liệu của tôi khi trang # được nhấp ...?! {{currentPage}} đang cập nhật, nhưng không chắc chắn cách để nó gọi getPresentations để cập nhật danh sách.Ghép hình góc - cập nhật dữ liệu trênclick

<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> 

Trả lời

36

Bạn đã có 2 lựa chọn:

  • $watch dòng trang bất động sản
  • sử dụng onSelectPage callback

Đây là trang có liên quan với $watch

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

Và đây là một cách sử dụng callback:

$scope.pageChanged = function(page) { 
    $scope.callbackPage = page; 
    $scope.watchPage = newPage; 
    }; 

sử dụng như:

<pagination on-select-page="pageChanged(page)" num-pages="noOfPages" current-page="currentPage"></pagination>  

Và cuối cùng là làm việc plunk cho thấy 2 phương pháp: http://plnkr.co/edit/UgOQo7?p=preview

+4

Cảm ơn! Tôi biết nó sẽ không được nhiều ... irks tôi rằng họ không bao gồm phần này trong doc. – NikZ

+1

Cảm ơn bạn đã trả lời! Trong ví dụ "pageChanged", mục đích của $ scope.watchPage = newPage là gì? – standingwave

+1

Tôi phát điên vì tôi đã thử cả hai phương pháp này trước khi đến đây và không hoạt động: ( – Dustin

5

@ câu trả lời là đúng pkozlowski.opensource , ngoại trừ các phiên bản mới nhất của bootstrap đã thay đổi trên trang chọn đến ng-thay đổi.

Các vấn đề liên quan