#javascript #html #vue.js #vuejs2
#javascript #HTML #vue.js #vuejs2
Вопрос:
Я использую vuejs с пользовательским интерфейсом элемента, я хочу показывать индикатор загрузки при запуске загрузки изображения из src attr, скрывать индикатор загрузки при load
запуске события (загруженного img).
load
Событие работает хорошо, но loadstart
никогда не срабатывает.
Вот фрагмент:
<div v-loading="imgLoading">
<img
:src="imgOfSelectedColor"
@loadstart="showImgLoading"
@load="hideImgLoading"
@error="hideImgLoading"
@abort="hideImgLoading"
>
</div>
export default {
data() {
return {
imgLoading: false
};
},
methods: {
showImgLoading() {
this.imgLoading = true;
},
hideImgLoading() {
this.imgLoading = false;
}
}
}
Комментарии:
1. loadstart применяется только к тегам видео и аудио, это недопустимое событие для тегов img. Смотрите Раздел поддерживаемые теги w3schools.com/jsref/event_onloadstart.asp
2. @AlexanderStaroselsky Есть ли альтернатива для img?
3. @AlexanderStaroselsky это неправда. ProgressEvents применяются к множеству API, они даже изначально были реализованы для объектов XHR. И HTMLImageElement должен запустить
loadstart
событие как 11-й шаг алгоритма обновления данных изображения . Теперь только Firefox среди распространенных браузеров реализовал эту часть спецификаций, так что, ifeng , в каком браузере вы это тестировали?4. @Kaiido
Chrome 73.0.3683.103 x64
.5. Будет сложно (если не невозможно) правильно заполнить это. Я думаю, лучше всего сделать свой голос таким, чтобы этот 4-летний отчет об ошибке, наконец, был обработан .