В цикле создаются слайды, которые состоят из картинки и названия. Картинки хранятся в assets.
Если бы это не было циклом, то выглядело бы так:
<img src="@/assets/image1.jpg">
<img src="@/assets/image2.jpg">
<img src="@/assets/image3.jpg">
А в цикле примерно так:
<div v-for="slide in slides">
<img :src="slide.image">
</div>
...
data() {
return {
slides: [
{image: '@/assets/image1.jpg'},
{image: '@/assets/image2.jpg'},
{image: '@/assets/image3.jpg'}
]
}
}
Вот такой код подставляет картинку в src "как есть", то есть "@/assets/...".
Как сделать, чтобы в данном случае @ заменялась на корень?
В гугле рекомендуют создать метод getImg:
getImg(image) {
return require(image);
}
Но во-первых require не работает с @ (нужно указывать путь относительно файла, То есть что-то вроде '../../assets/image1.jpg'), а во-вторых выглядит не очень.
Есть ли способ динамически вставлять картинки через @?