@winers
Начинающий программист

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

Есть компонент swiper который рэндерится через v-for. Он в себя принимает некоторые параметры @swiper="setThumbsSwiper" и :thumbs="{ swiper: thumbsSwiper }". Для каждого слайда нужно передать свой параметр, но как это сделать динамически? Пробовал делать массивы с переменными и методами и передавал в компонент как @swiper="arrSetThumbs[index]" :thumbs="{ swiper: arrThumbs[index] }", но так не работает(. Как в таких случаях это правильно сделать?

let thumbsSwiper1 = ref(null);
let thumbsSwiper2 = ref(null);
let thumbsSwiper3 = ref(null);

const setThumbsSwiper1 = (swiper) => {
  thumbsSwiper1.value = swiper;
}
const setThumbsSwiper2 = (swiper) => {
  thumbsSwiper2.value = swiper;
}
const setThumbsSwiper3 = (swiper) => {
  thumbsSwiper3.value = swiper;
}
  • Вопрос задан
  • 143 просмотра
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега Vue.js
Тлен
Вот смотри, прям беру твой код и пихаю как есть:

И смотри-ка, всё работает.
Проблема твоя где-то в другом месте.

P.S. По-нормальному это делается как-то так:
const thumbs = reactive([null, null, null]);
v-for="(swiper, i) in thumbs" @swiper="thumbs[i]=$event" :thumbs="{ swiper }"

Но может и ещё проще, если бы было больше контекста.:)
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы