Carousel - Bootstrap-Vue
https://bootstrap-vue.github.io/docs/components/carousel/
by Issaki1
HTML
<link rel="stylesheet" href="//unpkg.com/bootstrap@next/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css">
<script src="//unpkg.com/vue@latest/dist/vue.min.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.js"></script>
<div id="app">
<b-carousel
id="carousel-1"
v-model="slide"
:interval="4000"
controls
indicators
background="#ababab"
style="text-shadow: 1px 1px 2px #333;"
@sliding-start="onSlideStart"
@sliding-end="onSlideEnd"
>
<b-carousel-slide
v-for="item in carouselItems"
:key="item.id"
:text="item.text"
:style="{ 'background-image' : 'url(\'' + item.image + '\')' }"
></b-carousel-slide>
</b-carousel>
<ProductList/>
</div>
JavaScript
new Vue({
el: '#app',
data: {
carouselItems: [
{
id: 1,
image: "https://source.unsplash.com/LAaSoL0LrYs/1920x1080",
text: "Nulla vitae elit libero, a pharetra augue mollis interdum. (1)"
},
{
id: 2,
image: "https://source.unsplash.com/LAaSoL0LrYs/1920x1080",
text: "Nulla vitae elit libero, a pharetra augue mollis interdum. (2)"
},
{
id: 3,
image: "https://source.unsplash.com/LAaSoL0LrYs/1920x1080",
text: "Nulla vitae elit libero, a pharetra augue mollis interdum. (3)"
}
],
slide: 0,
sliding: null
},
methods: {
onSlideStart(slide) {
this.sliding = true;
},
onSlideEnd(slide) {
this.sliding = false;
}
}
})