modules:
引入的模組,預設為全部引入,模組選項參考
官方文件
export default defineNuxtConfig({ modules: [ 'nuxt-swiper' ], swiper: { modules: ['navigation', 'pagination', 'effect-creative' ] } })
|
Swiper 官方文件
<template> <div> <Swiper :modules="[ SwiperNavigation, SwiperEffectCreative ]" :slides-per-view="1" :space-between="16" :loop="true"> <SwiperSlide>Slide 1</SwiperSlide> <SwiperSlide>Slide 2</SwiperSlide> <SwiperSlide>Slide 3</SwiperSlide> <SwiperSlide>Slide 4</SwiperSlide> </Swiper> </div> </template>
|
或是將屬性包裝成物件,透過
v-bind
傳入,配置選項較複雜時,能提升模板可讀性
<template> <div> <Swiper v-bind="swiperConfig"> <SwiperSlide>Slide 1</SwiperSlide> <SwiperSlide>Slide 2</SwiperSlide> <SwiperSlide>Slide 3</SwiperSlide> <SwiperSlide>Slide 4</SwiperSlide> </Swiper> </div> </template>
<script setup> const swiperConfig = { modules: [ SwiperNavigation, SwiperEffectCreative ], slidesPerView: 1, spaceBetween: 16, loop: true, breakpoints: { 545: { slidesPerView: 2 }, 1080: { slidesPerView: 3 }, 1280: { slidesPerView: 4 } } }; </script>
|
官方文件
<template> <div> <Swiper @slide-change="slideChange()"> ... </Swiper> </div> </template>
<script setup> const slideChange = () => { console.log('slideChange'); }; </script>
|
樣式選擇
)
import 'swiper/css'; import 'swiper/css/navigation'; import 'swiper/css/pagination';
|
https://github.com/cpreston321/nuxt-swiper#readme
https://swiperjs.com/vue
Your browser is out-of-date!
Update your browser to view this website correctly.
Update my browser now