npm i swiper
<template>
<swiper
direction="vertical"
:slides-per-view="1"
:mousewheel="true"
:loop="true"
:speed="200"
:autoplay="true"
navigation
:pagination="{ clickable: true }"
:scrollbar="{ draggable: true }"
@swiper="onSwiper"
@slideChange="onSlideChange"
>
<swiper-slide>Slide 1</swiper-slide>
<swiper-slide>Slide 2</swiper-slide>
<swiper-slide>Slide 3</swiper-slide>
</swiper>
</template>
<script setup lang="ts">
// Import Swiper Vue.js components
import { Swiper, SwiperSlide } from 'swiper/vue';
import SwiperCore, { Navigation, Pagination, Scrollbar, Mousewheel, Autoplay} from "swiper";
// Import Swiper styles
import 'swiper/css';
import 'swiper/css/navigation';
import 'swiper/css/pagination';
import 'swiper/css/scrollbar';
SwiperCore.use([ Navigation, Pagination, Scrollbar, Mousewheel, Autoplay, Navigation]);
const onSwiper = (swiper: any) => {
console.log(swiper);
};
const onSlideChange = () => {
console.log('slide change');
};
</script>