この記事では、主に AngularJS フロントエンド ページング実装を紹介します。これは、全体的なデータ量が比較的小さいため、必要な友人に参照してもらえるようにしました。なので、処理のためにページングをフォアグラウンドに置くことができます。
// 初始化分页参数 $scope.pageParams = { size: $stateParams.size, // 每页数据条数 page: $stateParams.page, // 页码数 last: undefined, // 是否首页 first: undefined, // 是否尾页 totalPages: undefined, // 总页数 totalElements: undefined, // 总数据条数 numberOfElements: undefined // 当前页有几条数据 };
これはページング コマンドに必要なデータなので、最初に現在のページに表示されるデータを取得し、次にパラメータを生成してページング コマンドに渡します。
パブリック メソッド
これは、CommonService
で最後に実装されたパブリック メソッドです。
/** * 重新生成分页参数与分页数据 * @param {每页数据条数} size * @param {页码数} page * @param {全部数据} data * @param {Function} callback * callback (pageParams, currentPageData) * pageParams: 分页的标准 * currentPageData: 当前页的数据 */ self.reloadPageParamsAndData = function(size, page, data, callback) { // 校验传入的参数 if (typeof size === 'undefined') { throw '未接收到每页数据条数信息'; } if (typeof page === 'undefined') { throw '未接收到分页信息'; } if (typeof data === 'undefined') { throw '未接收到数据信息'; } // 计算总页数和总数据条数 var totalPages = Math.ceil(data.length / size); var totalElements = data.length; // 计算当前页是否为首页 是否为尾页 var first = page === 0 ? true : false; var last = page === totalPages - 1 ? true : false; // 根据分页参数计算当前页应该显示的数据 slice数组元素分割 var currentPageData = data.slice(0 + page * size, size + page * size); // 获取当前页总共有多少条数据 var numberOfElements = currentPageData.length; // 重新生成分页参数 var pageParams = { size: size, // 每页数据条数 page: page, // 页码数 last: last, // 是否首页 first: first, // 是否尾页 totalPages: totalPages, // 总页数 totalElements: totalElements, // 总数据条数 numberOfElements: numberOfElements // 当前页有几条数据 }; // 回调 if (callback) { callback(pageParams, currentPageData); } };
現在のページのデータを取得するには、各ページのデータ項目数とデータを分割するページ番号を知る必要があります。 CommonService
中的公共方法。
var currentPageData = data.slice(0 + page * size, size + page * size);
获取当前页的数据,我们需要知道每页数据条数,页码数即可对数据进行分割。
// 计算总页数和总数据条数 var totalPages = Math.ceil(data.length / size); var totalElements = data.length; // 计算当前页是否为首页 是否为尾页 var first = page === 0 ? true : false; var last = page === totalPages - 1 ? true : false; // 获取当前页总共有多少条数据 var numberOfElements = currentPageData.length;
对数据进行分割,数据应该是从0
到size
,加上page * size
就是之前的页数中的数据量。
<yunzhi-page></yunzhi-page>
数据总数除以每页数据条数向上取整得到总页数。
如果页数为0
,则为首页;如果页数为总页数减1
rrreee
0
から size
までの範囲で、page * size
を加算したものが前のページ番号のデータになります。量。 ページング パラメーターを構築する
rrreeeデータの合計数をページごとのデータ項目数で割って切り上げて合計ページ数を取得します。
ページ数が 0
の場合は最初のページ、ページ数が合計ページ数から 1
を引いた場合は最後のページです。
以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項:
AngularJS エクスポート Excel コマンド
以上がAngularJS フロントエンド ページングの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。