Вот так навешиваю события на элементы слайдера ( работают только при первой прокрутке, если сделать infinite, то на втором круге уже не кликаются элементы.
<slider>
<div v-on:click="handleOpenGalleryPopup(index)" v-for="(img, index) in residential.images" class="slider-item"><img :src="img.small_image" :title="img.title"></div>
</slider>
Вот компонент со слайдером
<template>
<div class="slider-wrapper">
<Slick
ref="slick"
:options="slickOptions"
>
<slot></slot>
</Slick>
</div>
</template>
<script>
import Slick from 'vue-slick';
export default {
computed: {
slickOptions() {
return {
slidesToShow: 4,
nextArrow: `<div class="arrow-wraper next"><img src="/img/common/arrow-right.svg"></div>`,
prevArrow: `<div class="arrow-wraper prev"><img src="/img/common/arrow-left.svg"></div>`,
swipeToSlide: true,
responsive: [
{
breakpoint: 992,
settings: {
slidesToShow: 3
},
},
{
breakpoint: 600,
settings: {
slidesToShow: 2
},
}
]
}
},
},
},
components: {
Slick
}
}
</script>