角度jsと角度-uiブートストラップを使用してサーバー側のページ付けを実装する方法をいくつか提案してください。私は、angualr-ui bootsrapページ区切りディレクティブで選択された現在のページに従って、ng-repeatを使用してテーブルリストをページ付けします。我々はサーバへの頻繁な呼び出しを避ける必要があるので。一度にサーバーから50アイテムを取得する必要があります。ページあたり10個のアイテムが表示されています。より大きなデータセットにページを分ける必要があるため、パフォーマンス上の理由からng-repeatモデルには常に50個のアイテムが含まれている必要があります。angle-uiブートストラップを使用してangularjsでサーバー側のページ付けを実装する方法。
2
A
答えて
6
DirPaginateは、このデモのために、このPlunkerを見てください、この質問
の要件を満たしていますものです。
サーバーサイドページネーションを使用する場合は、JSON応答をこの形式で取得する必要があります。あなたのJSON応答の
フォーマット
{
Count: 1400,
Items: [
{ // item 1... },
{ // item 2... },
{ // item 3... },
...
{ // item 25... }
]
}
あなたが見てする必要がある唯一の事はあなたが私たちのディレクティブにそれを渡すために、これを必要がありますので、あなたがあなたのデータベース内の項目の合計数を取得することです。
あなたの角度コントローラのフォーマット
.controller('UsersController', function($scope, $http) {
$scope.users = [];
$scope.totalUsers = 0;
$scope.usersPerPage = 25; // this should match however many results your API puts on one page
getResultsPage(1);
$scope.pagination = {
current: 1
};
$scope.pageChanged = function(newPage) {
getResultsPage(newPage);
};
function getResultsPage(pageNumber) {
// this is just an example, in reality this stuff should be in a service
$http.get('path/to/api/users?page=' + pageNumber)
.then(function(result) {
$scope.users = result.data.Items;
$scope.totalUsers = result.data.Count
});
}
})
、最終的にはこれはあなたのhtml
HTML
<div ng-controller="UsersController">
<table>
<tr dir-paginate="user in users | itemsPerPage: usersPerPage" total-items="totalUsers" current-page="pagination.current">
<td>{{ user.name }}</td>
<td>{{ user.email }}</td>
</tr>
</table>
<dir-pagination-controls on-page-change="pageChanged(newPageNumber)"></dir-pagination-controls>
</div>
参照してくださいにそれを統合します方法の例ですこのページの非同期データセクションでの作業。
0
私はDIR-ページネーションライブラリを使用。それは非常に使いやすく軽量です。 documentationも非常に良いです。
ここにはimplementationの例があります。
編集:おっと、気づいたRaman Sahasiは、彼の答えで同じ提案をしました。私を維持する、私はエンドツーエンドの実装のチュートリアルは、いくつかのために役立つと信じています。
関連する問題
- 1. Meteorで制限を適用してサーバー側のページ付けを実装する方法
- 2. angularjsのサーバー側のデータでページ番号を付けよう
- 3. 実装方法角2を使用したサーバー側のページ区切り
- 4. angeljs $ resourceを使ってサーバー側のページ付けを行う方法は?
- 5. ブートストラップを使用してモーダルを実装する方法は?
- 6. Tomcatサーバーを使用してサーバー側でC++コードを実行する方法は?
- 7. dotnetコアでサーバー側のGoogle認可を実装する方法
- 8. バニラJavaScriptを使用してリストの検索とページ付けを両方とも実装する方法
- 9. AngularJSを使用してサーバー側から配列を取得する方法は?
- 10. サーバー側でfirebaseクラウドメッセージングを実装する方法は?
- 11. データテーブルにサーバー側の並べ替えを実装する方法
- 12. MySQL-サーバー側のパスワードハッシングを実装する方法
- 13. ブートストラップ+ AngularJS - ソートする方法/検索/編集/ページ付け表の列
- 14. AngularJSのUI-GRIDにおけるサーバー側のページ設定
- 15. angularjsでナビゲーションバーを実装する方法
- 16. Firebaseを使用してIOSでサーバー送信イベントを実装する方法は?
- 17. Nativescriptでスワイプジェスチャーを使用してページ間のナビゲーションを実装する方法
- 18. Pushnotificationサーバー側の実装
- 19. Facebook API:access_tokenサーバー側を取得してクライアント側で使用する方法
- 20. AJAXを使用してページ上でライブアップデートを実装する方法は?
- 21. vb/aspxシングルページモデル:フォームデータを別のページにポストしながらサーバー側のキャプチャを実装する方法は?
- 22. CORS Javaサーバー側実装
- 23. コードハイライトをブートストラップの例として実装する方法
- 24. angularjsを使用してDominoサーバーにログインする方法は?
- 25. ブートストラップ付きdatepickerを実装する
- 26. ブートストラップを使ってページ番号をつける方法
- 27. angularjs asyncを実装する方法は?
- 28. AngularJS RouteProviderを使用してページをキャッシュする方法は?
- 29. angularJSを使用してhtmlページを起動する方法
- 30. 2-leggedサーバー側でnode.jsのoauth実装