Hola Habr! Les presento la traducción del artículo " 
Paginación en Vue.js " de Denny Headrick.
La paginación mejora UX al permitir a los usuarios visualizar datos en pequeños bloques o en páginas. Por lo tanto, el componente Vue.js se puede paginar, lo que nos permitirá ver solo una parte de nuestros datos a la vez.

Primero, agregaré pieza por pieza a mi objeto JavaScript. Y luego mostraré la 
plantillaDe todos los datos locales, solo necesito los datos: el número de página.
data(){ return { pageNumber: 0  
Para los 
accesorios (propiedades), la transferencia de datos es obligatoria, pero también tomaré el argumento de 
tamaño para el número máximo de registros.
 props:{ listData:{ type:Array, required:true }, size:{ type:Number, required:false, default: 10 } } 
Para mi implementación, usaré métodos para ir a las páginas 
anterior (anterior) y 
siguiente (siguiente):
 methods:{ nextPage(){ this.pageNumber++; }, prevPage(){ this.pageNumber--; } } 
Una propiedad calculada calculada rápidamente para averiguar cuántas páginas hay:
 pageCount(){ let l = this.listData.length, s = this.size;  
Ahora, la 
propiedad calculada 
paginatedData es el lugar donde se combina todo. Estos son los datos filtrados que se mostrarán.
 paginatedData(){ const start = this.pageNumber * this.size, end = start + this.size; return this.listData.slice(start, end); } 
Editorial : Inicialmente hice algo horrible y engorroso para copiar una matriz. Usar 
.slice es el mejor enfoque. Gracias 
Alexander Karelas .
Y nuestra 
plantilla <div> <ul> <li v-for="p in paginatedData"> {{p.first}} {{p.last}} {{p.suffix}} </li> </ul> <button @click="prevPage"> Previous </button> <button @click="nextPage"> Next </button> </div> 
Quiero que los botones funcionen cuando solo tienen que hacerlo. Para el botón 
prevPage, agregaré :
: disabled = "pageNumber == 0"
y para el 
siguiente botón de página 
agregaré :
: disabled = "pageNumber> = pagecount -1"
Demostración de trabajo de mi componente:
A veces es difícil sobreestimar la situación, pero la paginación es una función simple que podemos ofrecer a nuestros usuarios sin mucho esfuerzo.
Gracias por leer!
Denny Headrick es un desarrollador web de USAF que ama demasiado su trabajo. Además de desarrollar en varias plataformas y Vue.js, cuando puede, le gusta bloguear ocasionalmente. Puedes seguirlo en Twitter en @dennythecoder.