2015-10-26 72 views
0

在點擊「更多」我叫loadNextPage方法調用的負載數據基於一張ID nextCommentIdloadComments方法和數據推到allComments陣列和該陣列是HTML這是在angularjs中分頁的正確方法嗎?

$scope.loadNextPage = function() 
{ 
    loadComments($scope.nextCommentId); 
} 

function loadComments(page){ 
    $scope.allComments.push(d.data); 
    .. 
    .. 
    $scope.nextCommentId = nextId; 
} 

這裏呈現的是我的HTML

<div ng-repeat="comment in allComments"> 
... 
</div> 

我的問題是,這是做angularjs中分頁的正確方法,因爲我將所有數據保存在數組中,所以如果數據增長,它將消耗內存。

+0

嗯它取決於...你想一次顯示所有的數據? –

回答

0
<div data-pagination="" data-num-pages="numPages()" 
    data-current-page="currentPage" data-max-size="maxSize" 
    data-boundary-links="true"></div> 

todos.controller("TodoController", function($scope) { 
    $scope.filteredTodos = [] 
    ,$scope.currentPage = 1 
    ,$scope.numPerPage = 10 
    ,$scope.maxSize = 5; 

    $scope.makeTodos = function() { 
    $scope.todos = []; 
    for (i=1;i<=1000;i++) { 
     $scope.todos.push({ text:"todo "+i, done:false}); 
    } 
    }; 
    $scope.makeTodos(); 

    $scope.numPages = function() { 
    return Math.ceil($scope.todos.length/$scope.numPerPage); 
    }; 

    $scope.$watch("currentPage + numPerPage", function() { 
    var begin = (($scope.currentPage - 1) * $scope.numPerPage) 
    , end = begin + $scope.numPerPage; 

    $scope.filteredTodos = $scope.todos.slice(begin, end); 
    }); 
}); 
+0

'$ scope.filteredTodos = $ scope.todos.slice(begin,end);'與我的沒有區別。最後它還會繼續推動數組中的數據 – manish

相關問題