@jeruthadam

Проблема с v-if. Как определить что картинка уже загружена? Почему происходит повторная загрузка картинки?

Для лейзи лоада картинки я использую такое

mouseEnterHandler () {
      let img = new Image()
      img.src = this.image
      img.onload = () => {
        this.show = true
      }
    }


Все ок, за исключением странного поведения - при последующих вызовах этой функции загрузка картинки происходит еще раз, несмотря на то что она уже загружена браузером. Как предотвратить такое действие? Кроме простановки втупую флага, что картинка уже загружена.

апд Вообщем, с флагом все равно загружается повторно иногда

5c989e3953677230865841.png

апд 2. Нашел из-за чего проблема. Этот элемент у меня с директивой v-if. Наводя на этот элемент с картинкой я его вставляю в дом и убираю обратно. Но по какой-то причине один раз из 50 таких наводов мышкой картинка грузится повтоно.
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ответы на вопрос 1
@heahoh
Full stackoverflow developer
Возможно первый запрос с типом OPTIONS - браузер его отправляет для проверки доступности последующего GET запроса у сервера (т.н. preflight). Возможно вам нужно настроить сервер для отправки 204 и пустого ответа на данные запросы а-ля:
if ($request_method = 'OPTIONS') {
    return 204;
}
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Страховой Кабинет Нижний Новгород
от 60 000 до 90 000 руб.
от 90 000 до 220 000 руб.
Posh Space Москва
от 160 000 до 180 000 руб.