Понадобятся два свойства - номер текущей страницы (page) и количество элементов на странице (perPage). Имея эти значения, можно показать элементы текущей страницы (UPD. Тут, конечно, косяк -
items.slice...
надо было унести в computed):
<div v-for="item in items.slice((page - 1) * perPage, page * perPage)">
{{ item }}
</div>
Также вычислим общее количество страниц:
computed: {
numPages() {
return Math.ceil(this.items.length / this.perPage);
},
},
Оно понадобится для того, чтобы ограничить возможный переход к несуществующим страницам:
methods: {
next(change) {
this.page = Math.max(1, Math.min(this.numPages, this.page + change));
},
},
И чтобы блокировать кнопку перехода к следующей странице, когда таковой нет:
<button @click="next(-1)" :disabled="page <= 1">prev</button>
<button @click="next(+1)" :disabled="page >= numPages">next</button>
https://jsfiddle.net/7a1w62xm/1/