以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 } }
复制