【问题标题】:Table pagination with datable or only mongoose带有数据或只有猫鼬的表格分页
【发布时间】:2015-09-16 15:34:05
【问题描述】:

我正在尝试为包含来自猫鼬的数据的表格创建分页系统。 其实我知道怎么做,但我想知道哪种方法最好:

方法一:只用猫鼬

var perPage = 15
, page = req.param('page') > 0 ? req.param('page') -1 : 0
res.locals.createPagination = function (pages, page) {
    var url = require('url')
    , qs = require('querystring')
    , params = qs.parse(url.parse(req.url).query)
    , str = ''

    params.page = 1
    for (var p = 1; p < pages + 1; p++) {
        params.page = p
        clas = page+1 == p ? "active" : "no"
        str += '<li class="'+clas+'"><a href="?'+qs.stringify(params)+'">'+ p +'</a></li>'
    }
    return str
}
        Vente.find({})
        .populate({ path: 'user_id', select: 'username server -_id'})
        .limit(perPage)
        .skip(perPage * page)
        .sort({created_at: 'desc'})
        .exec(function(err, ventes){
            Vente.count({}, function(err, count){
                res.render('index', {
                    page: page,
                    pages: count / perPage,
                    user: req.user,
                    items: ventes,
                });
            });
        });
})

在我的玉文件中我有这个:

if (pages > 1)
    ul.pagination
      != createPagination(pages, page)

效果很好,我只向玉文件发送了 15 个元素。

方法二:使用数据表 在我的 .jade 文件中,我只需要添加:

script(type="text/javascript")
   $(document).ready(function() {
   $("#tab").dataTable();
   });
script(type="text/javascript",src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js")

但我必须将所有元素发送到我的 .jade

所以我的问题是:第一种方法更好吗?第二种方法让用户搜索更快,分页不需要刷新页面。

谢谢。

【问题讨论】:

    标签: node.js mongoose pagination datatables html-table


    【解决方案1】:

    DataTable 非常酷(我个人使用它)。幸运的是,Datatable 有一种加载内容服务器端的方法,这很酷,因为你可以免费获得很多东西。可能只是稍微改变一下返回数据的方式。

    方法 2,加载所有内容,从长远来看是行不通的,要加载的数据太多。

    方法 1 可以,但我会混合使用这两种方法。 DataTable 服务器端,如上所述。

    【讨论】:

      猜你喜欢
      • 2018-12-09
      • 2021-04-18
      • 1970-01-01
      • 2017-06-28
      • 2015-11-27
      • 2012-09-20
      • 1970-01-01
      • 2022-08-16
      • 2023-03-13
      相关资源
      最近更新 更多