首页 前端知识 Swiper在Vue2中的使用

Swiper在Vue2中的使用

2024-02-12 14:02:48 前端知识 前端哥 875 475 我要收藏

以swiper3为例

一、全局引入

1. 下载swiper3

cnpm install swiper@3 vue-awesome-swiper@3 --save-dev
复制

 2. 在main.js中引入Vue-Awesome-Swiper

import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/dist/css/swiper.css'
// 全局挂载
Vue.use(VueAwesomeSwiper)
复制

 3.  在swiper.vue中 

<template>
<div>
<swiper :options="swiperOption" ref="mySwiper">
<swiper-slide>I'm Slide 1</swiper-slide>
<swiper-slide>I'm Slide 2</swiper-slide>
<swiper-slide>I'm Slide 3</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
</div>
</template>
<script>
export default {
name: 'HomeSwiper',
data () {
return {
swiperOption: {
loop: true,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false
},
pagination: {
el: '.swiper-pagination',
type: 'fraction'
clickable: true
},
}
}
}
}
</script>
<style lang="scss" scoped></style>
复制

注意分页器的写法

2.6.7版本

swiperOption: {
loop: true,//可选选项,开启循环
autoplay: 5000,//可选选项,自动滑动
pagination: '.swiper-pagination',
paginationType: 'fraction',
paginationClickable: true
}
复制

3.1.3版本

swiperOption: {
loop: true,
autoplay: {
delay: 3000,
stopOnLastSlide: true, //当切换到最后一个slide时停止自动切换
disableOnInteraction: true //用户操作swiper之后,是否禁止autoplay
},
pagination: {
el: '.swiper-pagination',
type: 'fraction',
clickable: true
}
}
复制

二、按需引入

1. 下载swiper3

cnpm install swiper@3 vue-awesome-swiper@3 --save-dev
复制

 2.  在swiper.vue中 引入样式和组件

<template>
<div>
<swiper :options="swiperOption" ref="mySwiper">
<swiper-slide>I'm Slide 1</swiper-slide>
<swiper-slide>I'm Slide 2</swiper-slide>
<swiper-slide>I'm Slide 3</swiper-slide>
<div class="swiper-pagination" slot="pagination"></div>
</swiper>
</div>
</template>
<script>
import { swiper, swiperSlide } from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css";
export default {
name: 'HomeSwiper',
components: {
swiper,
swiperSlide
},
data () {
return {
swiperOption: {
loop: true,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false
},
pagination: {
el: '.swiper-pagination',
clickable: true
}
}
}
}
}
</script>
<style lang="scss" scoped></style>
复制

loop: true失效问题

数据是写死的时候,能够loop:true是有效的;

数据是动态获取的loop:true就会失效。

解决办法:

加上v-if="list.length"有效解决

computed: {
isShowSwiper () {
return this.list.length
}
}
复制

转载请注明出处或者链接地址:https://www.qianduange.cn//article/1872.html
标签
github
评论
还可以输入200
共0条数据,当前/页
会员中心 联系我 留言建议 回顶部
复制成功!