Как стать автором
Обновить

Комментарии 20

math.floor(5/2) = 2, хотя количество страниц должно бить 3

В примере получается целое количество страниц, поэтому ошибка не проявилась. Потом сломается, на проде!
Вот вам и пример необходимости тестов.
Тут тесты сами по себе вряд ли бы помогли, даже со 100% покрытия. Собственно тесты — это и есть примеры использования.

Math.ceil должно быть

Это, скорее, виджет, который показывает страницы. Пагинация должна как-то реагировать/переключать элементы.
Можно хотя бы ивенты добавить.
С «createFakeData» неинтересно. Вот если бы XHR на бэкенд…
пример уж сильно хелувордный. Для нормального разговора нужны:
1. XHR и обработка момента загрузки
2. Router — надо page делать параметром в URL
3. Vuex
НЛО прилетело и опубликовало эту надпись здесь
Моё видение не сформировалось к сожалению, найти правильный код для реальной жизни довольно сложно. Либо хелуворды, либо обчитаются фаулера, потом пишут несопровождаемое добро.
Приходится перекапывать тонны кода на github. Если в AngularJs, я понимал, как что сделать, то в Vue.js я новичок, так что хорошего способа писать приложения я пока не нашёл.
Общий вопрос по пагинации: если источник данных её не поддерживает, потенциальное число записей не настолько большое, чтобы клиент начал ощутимо тормозить, то есть ли вообще смысл с нею заморачиваться, пока нет жёсткого требования от бизнеса? Лично мне удобнее скроллить, например, таблицу на 1000 строк, чем страничками её листать.
Полностью согласен, в 99% случаев пагинация ухудшает UX
Никогда не понимал зачем делать, например, список товаров по 10 штук на странице, покажите все сразу
В 99?? Вы пошутили?
спасибо поправил

:disabled="pageNumber=0"
Поправте на
:disabled="pageNumber==0"

спасибо уже поправил

С vue я не понимаю одной вещи, как правильно хранить данные так что бы они были актуальны, например я гружу по ajax данные пачками, с первой страницы перешёл на вторую, а потом снова на первую. и как правильно действовать?
Брать данные из локального хранилища или снова ajax к серверу. Понимаю что лучше как просит бизнес. Но как вы делаете?

Здесь все зависит от того что дорого…
если дорого запросы то локально хранить.
Если хотим сэкономить место у пользователя то запросы.
А еще вы не рассмотрели SPA
Все всегда зависит от конкретной задачи. Но зачастую вместе с серверной пагинацией идет еще фильтрация/сортировка и пытаться что-то кэшировать на клиенте уже нецелесообразно, imho оптимальнее всего использовать кэш на уровне сетевого взаимодействия — get запросы отлично кешируются.
Чтобы были актуальны — ajax к серверу или WebSocket.

Если WebSocket — хранить все данные в хранилище (vuex, например), и в нужный момент времени обновлять.

Если ajax — проще реализация, но больше объём передаваемых данных.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории