QImg — это компонент Quasar, предназначенный для удобного отображения изображений с расширенными возможностями, такими как автоматическая подгрузка, обработка ошибок, управление размерами и эффектами. Он является высокоуровневым инструментом, который упрощает работу с изображениями в приложениях на Vue.js с использованием Quasar Framework.
src — путь к изображению. Может
быть локальным или внешним URL. Обязательное свойство.
<q-img src="statics/example.jpg" />alt — альтернативный текст для
изображения. Важен для SEO и доступности.
<q-img src="statics/example.jpg" alt="Пример изображения" />ratio — соотношение сторон
изображения (например, "16/9", "1"). Если не
задано, QImg будет подстраиваться под реальный размер изображения.
<q-img src="statics/example.jpg" ratio="16/9" />width и height —
фиксированные размеры. Можно использовать числовые значения или строки с
единицами измерения.
<q-img src="statics/example.jpg" width="200px" height="150px" />contain и cover —
управление масштабированием изображения:
contain — изображение полностью помещается в заданный
контейнер без обрезки.cover — изображение заполняет контейнер, обрезая лишние
части, сохраняя центр.<q-img src="statics/example.jpg" contain />
<q-img src="statics/example.jpg" cover />QImg поддерживает показ плейсхолдеров и индикаторов загрузки, что важно для больших изображений и медленных соединений:
spinner-color — цвет спиннера
загрузки.delay — задержка перед показом
спиннера.placeholder-src — изображение,
отображаемое до полной загрузки основного изображения.Пример:
<q-img
src="https://example.com/photo.jpg"
placeholder-src="statics/placeholder.png"
spinner-color="primary"
:delay="200"
/>
QImg позволяет задавать изображение для отображения при ошибке загрузки:
error-src — путь к изображению,
которое показывается при ошибке.@error — событие, которое можно
использовать для кастомной обработки.Пример:
<q-img
src="https://example.com/nonexistent.jpg"
error-src="statics/error.png"
@error="handleError"
/>
methods: {
handleError(evt) {
console.log('Ошибка загрузки изображения', evt);
}
}
QImg поддерживает слоты для кастомизации отображения:
default — основной слот, может
использоваться для наложения контента поверх изображения.loading — слот для отображения
кастомного индикатора загрузки.error — слот для отображения
кастомного сообщения при ошибке.Пример с наложением текста:
<q-img src="statics/example.jpg">
<div class="absolute-bottom text-white bg-black bg-opacity-50 q-pa-xs">
Подпись изображения
</div>
</q-img>
QImg поддерживает ленивую загрузку через свойство
lazy-src, которое работает совместно с
placeholder-src. Это позволяет экономить трафик и ускоряет
первоначальную загрузку страницы:
<q-img
src="https://example.com/photo.jpg"
lazy-src="statics/placeholder.png"
/>
QImg можно сочетать с классами Quasar для создания эффектов:
transition — плавное появление
изображения.opacity — анимация прозрачности при
загрузке.Пример:
<q-img
src="statics/example.jpg"
class="q-transition--fade"
style="transition-duration: 0.5s"
/>
ratio и contain/cover для
корректного отображения в разных устройствах.alt для доступности и SEO.placeholder-src и error-src
повышает пользовательский опыт.QImg является мощным и гибким инструментом для работы с изображениями в Quasar, позволяя легко управлять отображением, масштабированием, анимацией и обработкой ошибок.