@kroha3000

Почему не отображается фон в VUE вставленный через Style в сам код?

<a href="#" style='background:url('@/assets/images/image.jpeg');'></a>


Не отображается изображение....

Через:

:style="{ background: `url(${imageUrl}) no-repeat center` }"


Тоже что то не выходит. Толи пути не верно задаю, толи чё, понять не могу.

:style="{ background: `url(@/assets/images/image.jpeg) no-repeat center` }"
  • Вопрос задан
  • 829 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Потому что на этапе исполнения пути @/assets/images/image.jpeg не существует. Это не волшебство. На этапе компиляции vue-compiler проходится по известному списку атрибутов, а postcss по стилям и заменяют такие пути на результаты loader'a(по умолчанию: data-uri для мелких файлов и внутренние пути относительно spa для остальных). Простые произвольные строки(которой и является `url(@/assets/images/image.jpeg) no-repeat center`) само собой анализу и замене не подвергаются.
Надо явно получить результат loader'a(через require('путь')) и использовать его где нужно.

Условно так:
:style="`background: url(${require('@/assets/images/image.jpeg')}) no-repeat center`"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы