javascript - sailsjs - Sails.Js-Cómo hago paginación en sails.Js
sails sort (4)
Quiero crear una tabla paginada usando sails.js, mongodb y waterline-ORM.
¿Hay alguna forma específica de hacer paginación en sails.js?
Creo que también puedes hacerlo con io:
io.socket.get(''/thing'', {limit: 30, skip: 30*pageNum}, function(things, jwr) { /*...*/ })
Podría crear un paginador funcional con parámetros de consulta incorporados de skip
y limit
para rutas de planos:
/api/todos?skip=10&limit=10
Con esta opción, podría tener un tamaño de página de tamaño dinámico de acuerdo con varios tamaños de dispositivos; esta opción le daría un limit
, que es básicamente el tamaño de su página. Multiplique (tamaño de página - 1) por el número de página actual - voila tiene su parámetro de skip
.
En cuanto a cómo obtener el número de todos los elementos, no he encontrado una forma integrada de hacerlo, así que he escrito un pequeño middleware de ayuda ( https://github.com/xtrinch/sails-pagination-middleware ) para devolver el recuento total en la respuesta JSON de esta manera:
{
"results": [
{
/* result here */
},
{
/* another result here */
}
],
"totalCount": 80
}
Todo lo que necesita hacer es instalar el middleware a través de npm y agregarlo a sus middlewares en http.js
Si necesita un ejemplo completamente funcional, también tengo una aplicación de ejemplo para hacer con este tipo de paginación en github: https://github.com/xtrinch/vue-sails-todo . Está escrito con vue, pero debe tener la idea de cualquiera de los dos casos
Tenga en cuenta que esta respuesta requiere velas 1.x.
También hay otra manera.
Si desea obtener datos del front-end y ha activado el plano, también puede probar: http://yourDomain.com/ModelName?skip=10&limit=10
Referencia: sitio 1.officer: http://sailsjs.org/#/documentation/reference/blueprint-api/Find.html
http://sailsjs.org/#/documentation/concepts/ORM/Querylanguage.html
Model.find().paginate({page: 2, limit: 10});
Model.find({ where: { name: ''foo'' }, limit: 10, skip: 10 });
Si desea que la paginación funcione de forma asíncrona, es muy fácil hacerlo con JQUERY $$.getJSON
y en el servidor res.json();
Hay un montón de información en documentos de línea de flotación y velas.