أنا وضعت الفئة المليئة في البرنامج المساعد/paginate.js
نسخة الكود كما يلي:
/**
* فئة Pagination Plugin (عدد العرض المفقود لكل صفحة ، سيتم كتابة Listrows غدًا)
* param page {number} الصفحة الحالية
* Param pagesize {number} عدد السجلات لكل صفحة
* param total {number} سجلات إجمالية
* constructor
*/
قربات وظيفة (صفحة ، صفحات ، إجمالي) {
if (! صفحة || صفحة <1) {
الصفحة = 1 ؛
}
if (! pagesize || pagesize <1) {
pagesize = 20 ؛
}
إذا (! المجموع || المجموع <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 /thes.pagesize) + 1 ؛
}
if (page> this.maxpage) {
this.page = this.maxpage ؛
}آخر{
this.page = صفحة ؛
}
}
/*
* العدد الحالي من الإدخالات
*/
paginate.prototype.first = function () {
var first = (this.page-1)*this.pagesize ؛
if (أولاً> this.total) {
العودة (this.maxpage-1)*this.pagesize ؛
}
العودة أولا ؛
}
/*
* أكبر عدد من الإدخالات في الصفحة الحالية
*/
paginate.prototype.last = function () {
var last = this.first ()+this.pagesize ؛
if (last> this.total) {
إرجاع هذا.
}
العودة الماضي
}
/**
* الصفحة السابقة
* returns {number}
*/
paginate.prototype.prev = function () {
if (this.page <= 1) {
العودة كاذبة
}
إرجاع هذا. page-1 ؛
}
/**
* الصفحة التالية
* returns {*}
*/
paginate.prototype.next = function () {
if (this.page> = this.maxpage) {
العودة كاذبة
}
العودة (parseint (this.page) +1) ؛
}
module.exports = paginate ؛
استخدم مثال
نسخة الكود كما يلي:
var paginate = required ("../ plugin/paginate") ؛
var q = req.query.q ؛
var paginate = paginate new (q ، 10 ، 185) ؛
var page = page.page ؛ // عدد الصفحة الحالية
var first = paginate.first () ؛ // العنصر الأول الحالي
var last = paginate.last () ؛ // الحد الأقصى الحالي للإدخالات الحالية
var maxpage = paginate.maxpage ؛ // إجمالي عدد الصفحات
var pagesize = paginate.pagesize ؛ // عدد العرض لكل صفحة
var total = paginate.total ؛ // إجمالي عدد السجلات
var prev = paginate.prev () ؛ // السابقة
var التالي = paginate.next () ؛ // التالي
res.json ({page: page ، أولاً: أولاً ، الأخير: آخر ، maxpage: maxpage ، pagesize: pagesize ، total: total ، prev: crev ، next: next})