首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sails.Js -我如何在sails.Js中分页

Sails.Js -我如何在sails.Js中分页
EN

Stack Overflow用户
提问于 2014-10-30 08:20:44
回答 4查看 17.6K关注 0票数 23

我想使用sails.js、mongodb和waterline创建分页表。

在sails.js中有什么特定的分页方法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-10-30 12:33:42

http://sailsjs.org/#/documentation/concepts/ORM/Querylanguage.html

代码语言:javascript
复制
Model.find().paginate({page: 2, limit: 10});

Model.find({ where: { name: 'foo' }, limit: 10, skip: 10 });

如果您希望分页异步工作,那么使用JQUERY $$.getJSON和服务器res.json();非常容易。

在水系和船坞里有很多信息。

票数 33
EN

Stack Overflow用户

发布于 2015-01-14 06:51:21

还有另一种方法。

如果您想从前端获取数据,并且打开了蓝图,也可以尝试:http://yourDomain.com/ModelName?skip=10&limit=10

参考资料:1.高级人员网站:http://sailsjs.org/#/documentation/reference/blueprint-api/Find.html

票数 10
EN

Stack Overflow用户

发布于 2018-08-31 13:39:06

您可以为蓝图路由构建带有内置skiplimit查询参数的函数式分页器:

代码语言:javascript
复制
/api/todos?skip=10&limit=10

有了这个选项,您可以根据不同的设备大小动态地调整页面大小--这个选项将在limit中提供,这基本上就是您的页面大小。将(页面大小- 1)乘以当前的页码-瞧,您有您的skip参数。

至于如何获取所有项的数量,我还没有找到一个内置的方法来实现,因此我编写了一个小助手中间件(https://github.com/xtrinch/sails-pagination-middleware),以这样的方式返回响应JSON中的总计数:

代码语言:javascript
复制
{
    "results": [
        {
            /* result here */
        },
        {
            /* another result here */
        }
    ],
    "totalCount": 80
}

您所需要做的就是通过npm安装中间件,并将其添加到http.js中的中间件中。

如果您需要一个功能齐全的示例,我还提供了一个在github上使用这种分页功能的应用程序示例:https://github.com/xtrinch/vue-sails-todo。它是用vue写的,但不管是哪种情况,你都应该知道。

请注意,这个答案需要帆1.x。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26648059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档