You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<template> <v-responsive max-width="1365" class="mx-auto"> <v-container> <v-carousel v-model="activeIndex" height="auto" class="exhibition-swiper mt-5" hide-delimiters cycle > <v-carousel-item v-for="(caRow, i) in displayCarouselRows" :key="`ca_item_${i}`" > <v-row> <v-col v-for="(ad, index) in ads.slice(0, 3)" :key="index" cols="4"> <a :href="ad.url"> <v-img width="100%" :src="ad.image" class="mx-auto rounded-xl my-auto" /> </a> </v-col> </v-row> </v-carousel-item> </v-carousel> </v-container> </v-responsive> </template>
<script> export default { props: ["ads"], name: "ExhibitionCarousel", data: () => ({ activeIndex: 0, carouselItems: Array(15).fill(1), }), computed: { displayCarouselRows() { const { carouselItems } = this; const ret = []; for (let i = 0; i < carouselItems.length; i += 3) { ret.push([ carouselItems[i], carouselItems[i + 1], carouselItems[i + 2], ]); } return ret; }, }, }; </script>
<style lang="scss"> .exhibition-swiper { padding: 0 96px;
.v-window__prev { left: auto; right: 100%; } .v-window__next { right: auto; left: 100%; } } </style>
|