@soloDeveloper

Как дождаться полной загрузки изображений во Vue 3?

Делаю проект на Vue 3, SPA сайт. Между страницами имеется спиннер, который отключаю после отрисовки, получения всех данных... Но есть страница, которая полностью статическая и на ней множество картинок с текстом. В ней, в хуке mounted() я отключаю спиннер. Дальше визуально видно как картинки не было и вдруг резко появилась. И я не знаю что с этим сделать. Если же я специально покручу спиннер на несколько секунд дольше, а затем уберу его, то с картинкой все ок.
Мое мнение, что страница отрендерилась, хук mounted() вызвался, я спиннер отключаю и картинка после этого долетает.
Пробовал в хуках beforeUpdate, updated, но они не вызываются, что логично.
В общем, я не знаю как отловить тот момент когда картинка уже пришла с сервера и отрисовалась на странице, для того чтобы вырубить спиннер. Картинки подключаются вот так - :src="require('@path/to/img.svg')"
  • Вопрос задан
  • 253 просмотра
Пригласить эксперта
Ответы на вопрос 1
anatoly_kulikov
@anatoly_kulikov
Помог ответ? Отметь решением!
Нужно собрать массив ссылок на картинки и потом их грузить как HTMLImageElement, если не ошибаюсь, то там можно отследить момент загрузки. Как они все загрузятся - можно вырубать спиннер.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 05:01
999999 руб./за проект
19 апр. 2024, в 03:52
1000 руб./за проект