PAGED 클래스를 플러그인/Paginate.js에 넣었습니다
코드 사본은 다음과 같습니다.
/**
* Pagination 플러그인 클래스 (페이지 당 디스플레이 카운트 누락, Listrows가 내일 작성됩니다)
* @param page {number} 현재 페이지
* @param pagesize {number} 페이지 당 레코드 수입니다
* @param total {number} 총 레코드
* @constructor
*/
기능 페이지 (Page, Pagesize, Total) {
if (! page || page <1) {
페이지 = 1;
}
if (! pagesize || pagesize <1) {
pagesize = 20;
}
if (! Total || Total <0) {
총 = 0;
}
this.pagesize = pagesize;
this.total = 총;
if (this.total%this.pagesize === 0) {
this.maxpage = parseint (this.total/this.pagesize);
}또 다른{
this.maxpage = parseint (this.total /this.pagesize) + 1;
}
if (page> this.maxpage) {
this.page = this.maxpage;
}또 다른{
this.page = page;
}
}
/*
* 현재 항목 수
*/
pagitate.prototype.first = function () {
var first = (this.page-1)*this.pagesize;
if (First> this.total) {
return (this.maxpage-1)*this.pagesize;
}
먼저 반환;
}
/*
* 현재 페이지에서 가장 많은 항목 수
*/
Pagitate.prototype.last = function () {
var last = this.first ()+this.pagesize;
if (last> this.total) {
이것을 반환하십시오.
}
마지막으로 반환;
}
/**
* 이전 페이지
* @returns {번호}
*/
pagitate.prototype.prev = function () {
if (this.page <= 1) {
거짓을 반환합니다.
}
이를 반환합니다. 페이지 -1;
}
/**
* 다음 페이지
* @returns {*}
*/
pagitate.prototype.next = function () {
if (this.page> = this.maxpage) {
거짓을 반환합니다.
}
return (parseint (this.page) +1);
}
module.exports = Paginate;
예제를 사용하십시오
코드 사본은 다음과 같습니다.
var paginate = require ( "../ 플러그인/페이지 인");
var q = req.query.q;
var paginate = new Paginate (Q, 10, 185);
var page = page.page; // 현재 페이지 카운트
var first = paginate.first (); // 현재 첫 항목입니다
var last = paginate.last (); // 현재 최대 항목 수입니다
var maxpage = pagitinate.maxpage; // 총 페이지 수
var pagesize = paginate.pagesize; // 페이지 당 디스플레이 수
var total = paginate.total; // 총 레코드 수
var prev = paginate.prev (); // 이전
var next = pagitinate.next (); // 다음
res.json ({page : page, first : first : last : last : maxpage : maxpage, pageize : pagesize, total : prev : prev : next})