Gathering detailed insights and metrics for @brunobesson/vue-awesome-swiper
Gathering detailed insights and metrics for @brunobesson/vue-awesome-swiper
npm install @brunobesson/vue-awesome-swiper
Typescript
Module System
Min. Node Version
Node Version
NPM Version
61.4
Supply Chain
98.5
Quality
74.9
Maintenance
50
Vulnerability
99.6
License
JavaScript (59.82%)
Shell (40.18%)
Total Downloads
24,385
Last Day
2
Last Week
4
Last Month
11
Last Year
9,269
293 Commits
7 Branches
1 Contributors
Latest Version
4.1.4
Package Id
@brunobesson/vue-awesome-swiper@4.1.4
Unpacked Size
123.32 kB
Size
18.55 kB
File Count
24
NPM Version
6.14.16
Node Version
12.22.12
Cumulative downloads
Total Downloads
Last day
100%
2
Compared to previous day
Last week
300%
4
Compared to previous week
Last month
37.5%
11
Compared to previous month
Last year
-11%
9,269
Compared to previous year
6
Swiper component for Vue.
Old versions:
1npm install swiper vue-awesome-swiper --save 2 3# or 4yarn add swiper vue-awesome-swiper 5 6# Swiper5 is recommended 7yarn add swiper@5.x vue-awesome-swiper
1import Vue from 'vue' 2import VueAwesomeSwiper from 'vue-awesome-swiper' 3 4// import style (>= Swiper 6.x) 5import 'swiper/swiper-bundle.css' 6 7// import style (<= Swiper 5.x) 8import 'swiper/css/swiper.css' 9 10Vue.use(VueAwesomeSwiper, /* { default options with global component } */)
1import { Swiper, SwiperSlide, directive } from 'vue-awesome-swiper' 2 3// import style (>= Swiper 6.x) 4import 'swiper/swiper-bundle.css' 5 6// import style (<= Swiper 5.x) 7import 'swiper/css/swiper.css' 8 9export default { 10 components: { 11 Swiper, 12 SwiperSlide 13 }, 14 directives: { 15 swiper: directive 16 } 17}
1<link rel="stylesheet" href="path/to/swiper.css"/> 2<script type="text/javascript" src="path/to/swiper.js"></script> 3<script type="text/javascript" src="path/to/vue.min.js"></script> 4<script type="text/javascript" src="path/to/dist/vue-awesome-swiper.js"></script> 5<script type="text/javascript"> 6 Vue.use(window.VueAwesomeSwiper) 7</script>
Directive and the only difference in the use of the Component:
component
find Swiper instance by ref attribute
.directive
find Swiper instance by directive arg
.Other configurations, events are the same.
The effect of the two ways and the difference in the applicable environment is here.
1<template> 2 <swiper ref="mySwiper" :options="swiperOptions"> 3 <swiper-slide>Slide 1</swiper-slide> 4 <swiper-slide>Slide 2</swiper-slide> 5 <swiper-slide>Slide 3</swiper-slide> 6 <swiper-slide>Slide 4</swiper-slide> 7 <swiper-slide>Slide 5</swiper-slide> 8 <div class="swiper-pagination" slot="pagination"></div> 9 </swiper> 10</template> 11 12<script> 13 export default { 14 name: 'carrousel', 15 data() { 16 return { 17 swiperOptions: { 18 pagination: { 19 el: '.swiper-pagination' 20 }, 21 // Some Swiper option/callback... 22 } 23 } 24 }, 25 computed: { 26 swiper() { 27 return this.$refs.mySwiper.$swiper 28 } 29 }, 30 mounted() { 31 console.log('Current Swiper instance object', this.swiper) 32 this.swiper.slideTo(3, 1000, false) 33 } 34 } 35</script>
1<template> 2 <div v-swiper:mySwiper="swiperOption"> 3 <div class="swiper-wrapper"> 4 <div class="swiper-slide" :key="banner" v-for="banner in banners"> 5 <img :src="banner"> 6 </div> 7 </div> 8 <div class="swiper-pagination"></div> 9 </div> 10</template> 11 12<script> 13 export default { 14 data () { 15 return { 16 banners: [ '/1.jpg', '/2.jpg', '/3.jpg' ], 17 swiperOption: { 18 pagination: { 19 el: '.swiper-pagination' 20 }, 21 // ... 22 } 23 } 24 }, 25 mounted() { 26 console.log('Current Swiper instance object', this.mySwiper) 27 this.mySwiper.slideTo(3, 1000, false) 28 } 29 } 30</script>
1<!-- All events/props support camelCase or kebab-case. --> 2<swiper 3 :options="swiperOptionsObject" 4 :auto-update="true" 5 :auto-destroy="true" 6 :delete-instance-on-destroy="true" 7 :cleanup-styles-on-destroy="true" 8 @ready="handleSwiperReadied" 9 @click-slide="handleClickSlide" 10/> 11 12<!-- vue-awesome-swiper converts all Swiper events into component/directive events, e.g.: --> 13<swiper 14 @slide-change-transition-start="onSwiperSlideChangeTransitionStart" 15 @slideChangeTransitionStart="onSwiperSlideChangeTransitionStart" 16 @slideChangeTransitionEnd="..." 17 @transitionStart="..." 18 ... 19/>
1interface IProps { 2 // Auto update swiper when vue component `updated` 3 autoUpdate?: boolean // default: true 4 // Auto destroy swiper when vue component 'beforeDestroy' 5 autoDestroy?: boolean // default: true 6 7 // swiper.destroy's params 8 // swiper.destroy(deleteInstanceOnDestroy, cleanupStylesOnDestroy) 9 deleteInstanceOnDestroy?: boolean // default: true 10 cleanupStylesOnDestroy?: boolean // default: true 11} 12 13// `@ready` event will emit when the Swiper instance mounted 14function handleSwiperReadied(swiper: Swiper) { 15 console.log('Swiper was munted!', swiper) 16} 17 18// `@click-slide` event has special treatment for Swiper's loop mode, which is still available in loop mode 19function handleClickSlide(index: number, reallyIndex: number | null) { 20 console.log('Click slide!', index, reallyIndex) 21}
Based on the exact same as the component API.
In the directive
mode, the Swiper instance will be mounted in the parent's component context use the default name$swiper
. In order to implement multiple swipers in a context, the directive
has an additional name called instanceName
API, through this API, you can easily control the name of each swiper mount context.
1<div v-swiper="swiperOptionsObject" /> 2<div v-swiper:secondSwiper="swiperOptionsObject" /> 3<div v-swiper:[dynamicSwiperName]="swiperOptionsObject" /> 4<div v-swiper="swiperOptionsObject" instance-name="fourthSwiper" />
1export dafault { 2 data() { 3 return { 4 dynamicSwiperName: 'thirdSwiper' 5 } 6 }, 7 mounted() { 8 console.log('Swiper instances:', this.$swiper, this.secondSwiper, this.thirdSwiper, this.fourthSwiper) 9 } 10}
Swiper's API and configuration can be used.
1import Vue from 'vue' 2// Swiper 5.x 3import { Swiper as SwiperClass, Pagination, Mousewheel, Autoplay } from 'swiper/js/swiper.esm' 4// Swiper 6.x 5import { Swiper as SwiperClass, Pagination, Mousewheel, Autoplay } from 'swiper/core' 6 7import getAwesomeSwiper from 'vue-awesome-swiper/dist/exporter' 8 9// Swiper modules 10SwiperClass.use([Pagination, Mousewheel, Autoplay]) 11 12// ------------------------------------------------- 13 14// Global use 15Vue.use(getAwesomeSwiper(SwiperClass)) 16 17// ------------------------------------------------- 18 19// Or local component 20const { Swiper, SwiperSlide } = getAwesomeSwiper(SwiperClass) 21export default { 22 components: { 23 Swiper, 24 SwiperSlide 25 } 26}
1import SwiperClass from 'swiper' 2 3SwiperClass.use({ 4 name: 'pluginName', 5 params: { 6 pluginSwitch: false, 7 }, 8 on: { 9 init() { 10 if (!this.params.pluginSwitch) return 11 console.log('init') 12 }, 13 // ... 14 } 15}) 16 17// Your Swiper or App bussiness component...
Detailed changes for each release are documented in the release notes.
No vulnerabilities found.
No security vulnerabilities found.