@Sector567

Как по запросу получить часть контента, а остальную часть подгрузить по мере надобности во vue.js?

То есть реализовать так называемый lazy loading.
ПРИМЕР:
Вот при помощи axios за отправляю запрос, мне приходит ответ с массивом с 100 url-адресами к картинкам.

Если я просто через цикл переберу этот массив, и запишу в src тега img все пути, то соответственно у меня появятся
100 картинок разом.

Но мне нужно, что бы например появилось только 10 картинок, а при помощи пагинации, когда я переключаю следующую страницу, подгрузилось еще 10, когда переключаюсь на третью страницу- еще 10 и т.д.

Так вот, как правильно это можно реализовать на vue.js?
  • Вопрос задан
  • 66 просмотров
Решения вопроса 2
yarkov
@yarkov Куратор тега JavaScript
https://github.com/yarkovaleksei/toster-extension
Разбить массив на чанки и отдавать нужный чанк на нужной странице. Ваш К.О.
Ответ написан
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
CEO iAmStudio, предприниматель.
Или формируй запросы по мере необходимости с offset и limit-параметрами. Если API такое не умеет — это плохое API.

Хотя 100 записей (если там не портянка на каждую запись) и бэк не скрипит, отдавая, то это в принципе норм и ты можешь создавать узлы изображений по мере необходимости, держа все данные в памяти. Можно и дальше пойти в сторону intersectionObserver, но кажись это сложновато будет)

Vue да, идеально подходит.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
14 авг. 2020, в 11:57
1000 руб./за проект
14 авг. 2020, в 11:53
4000 руб./за проект
14 авг. 2020, в 11:29
50000 руб./за проект