@Alianos

Как использовать v-for как цикл с изменяемым свойством?

Здравствуйте, у меня есть
<div v-for="i of 10" :key="i" class="frame" >
    </div>

Но мне нужно чтоб каждому div-у в зависимости от итератора присваевался особый background-image например по такому шаблону
backgroundImage =
`url(${require("../assets/images/slides/" + this.$assetsResolution + "/" + i + ".jpg")})`;

где i- итератор а this.$assetsResolution просто статическая переменная (у всех дивов одинакова)
Как ето реализовать
  • Вопрос задан
  • 121 просмотр
Решения вопроса 2
yarkov
@yarkov Куратор тега Vue.js
Проект "Жизнь после смерти" - lifeafterdeath.ru
Псевдокод компонента:

<div v-for="index of 10" :key="index" class="frame" :style="`background-image: url(${getImageUrl(index)})`" >
  {{ index }}
</div>

{
  methods: {
    getImageUrl(index) {
      return `/images/slides/${this.$assetsResolution}/${index}.jpg`;
    }
  }
}


В общем типа такого что-то. И никакого require, работать не будет.

P.S. Писал с телефона, не проверял.
Ответ написан
Kozack
@Kozack Куратор тега Vue.js
Thinking about a11y
Или проще:
{
  computed: {
    divs() {
      // Массив ваших дивов, со всеми необходимыми параметрами
      return [{bg: ''}, {bg: ''}]
    }
  }
}

<div v-for="(div, index) of divs" :key="index" class="frame" :style="`background-image: url(${div.bg})`" >
  {{ index }}
</div>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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