Vue中使用swiper

一、swiper 安装使用

 1、安装,注意标明版本

npm install swiper@3 --save-dev

 

2、main.js 引入

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

import 'swiper/dist/css/swiper.min.css'
import
'swiper/dist/js/swiper.min'

Vue.config.productionTip = false

new Vue({
router,
store,
render: h
=> h(App)
}).$mount(
'#app')

 

3、使用地方代码

<template>
  <div class="about">
   <div class="swiper-container">
    <div class="swiper-wrapper">
      <div class="swiper-slide">Slide 1</div>
      <div class="swiper-slide">Slide 2</div>
      <div class="swiper-slide">Slide 3</div>
    </div>
    <!-- 如果需要分页器 -->
    <div class="swiper-pagination"></div>
&lt;!-- 如果需要导航按钮 --&gt;
&lt;div class="swiper-button-prev"&gt;&lt;/div&gt;
&lt;div class="swiper-button-next"&gt;&lt;/div&gt;

&lt;!-- 如果需要滚动条 --&gt;

<!-- <div class="swiper-scrollbar"></div>-->
</div>
</div>
</template>

<script>
import Swiper from
'swiper'
export
default {
name:
'About',
data(){
return {
}
},
mounted() {
new Swiper ('.swiper-container', {
loop:
true,
// 如果需要分页器
pagination: '.swiper-pagination',
// 如果需要前进后退按钮
nextButton: '.swiper-button-next',
prevButton:
'.swiper-button-prev',
// 如果需要滚动条
// scrollbar: '.swiper-scrollbar',
//如果需要自动切换海报
// autoplay: {
// delay: 1000,// 时间 毫秒
// disableOnInteraction: false,// 用户操作之后是否停止自动轮播默认 true
// },
})
}
}
</script>

<style lang="less" scoped>
.swiper
-container{
height: 500px;
width:
100%;
.swiper
-wrapper{
.swiper
-slide{
width:
100%;
height:
100%;
background
-color: #42b983;
text
-align: center;
line
-height: 500px;
}
}
}
</style>

 

4、完成效果

 

 

二、vue-awesome-swiper 安装使用

1、安装

// 需要指定版本
npm install vue-awesome-swiper@3 --save-dev

npm install swiper@3 --save-dev

2、局部使用

<template>
  <div class="recommendPage">
    <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>
      <swiper-slide>I'm Slide 4</swiper-slide>
      <div class="swiper-pagination" slot="pagination"></div>
      <div class="swiper-button-prev" slot="button-prev"></div>
      <div class="swiper-button-next" slot="button-next"></div>
    </swiper>
  </div>
</template>

<script>
// 引入插件
import {swiper, swiperSlide} from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css";

export default {
name: 'Home',
components: {
swiper,
swiperSlide
},
data() {
return {
swiperOption: {
loop: true,
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: false
},
// 显示分页
pagination: {
el: ".swiper-pagination",
clickable: true // 允许分页点击跳转
},
// 设置点击箭头
navigation: {
nextEl: ".swiper-button-next",
prevEl: ".swiper-button-prev"
}
}
};
},
computed: {
swiper() {
return this.$refs.mySwiper.swiper;
}
},
mounted() {
// current swiper instance
// 然后你就可以使用当前上下文内的 swiper 对象去做你想做的事了
console.log("this is current swiper instance object", this.swiper);
// this.swiper.slideTo(3, 1000, false);
}
}
</script>

<style scoped>
.recommendPage .swiper-container{
position: relative;
width: 100%;
height: 200px;
background: pink;
}
.recommendPage .swiper-container .swiper-slide{
width: 100%;
line-height: 200px;
background: yellowgreen;
color: #000;
font-size: 16px;
text-align: center;
}
</style>

3、完成后效果

 

三、swiper 官网地址