Как сделать разрыв в выводе пагинации страниц
Делаю пагинацию на VUE. (знаю что есть некоторые готовые модули, но мне они не подходят).
Вот что у меня получилось:
<ul class="pagination">
<li class="pagination__item" v-for="(page, key) in 100">
<div v-if="page != tradersListSortConfig.currentPage">
<a href="javascript:;" class="pagination_link">{{ page }}</a>
</div>
<div v-else>
<span class="pagination_link active">{{ page }}</span>
</div>
</li>
</ul>
И все бы хорошо, но когда у меня например 100 страниц, то они все выводятся в ряд, и получается некрасиво и длинно...
Я бы хотел сделать чтобы вывод страниц был, например такой:
1, 2, 3, ..., 98, 99, 100
Но когда я например открыть 10 страницу, то уже такой
..., 8, 9, 10, ..., 98, 99, 100
Буду очень рад любой помощи!
UPD. насколько я понимаю, вместо <li .... in 100
100 - нужен массив вида:
[
..., 8, 9, 10, ..., 98, 99, 100
]
который будет генерироваться в зависимости от того на какой номер текущей страницы. но пока не понимаю как его генерировать...