vue制作轮播图

1,029 阅读1分钟
  1. 在终端安装依赖包
npm install swiper vue-awesome-swiper --save
  1. 在main.js文件中导入需要的包
import VueAwesomeSwiper from 'vue-awesome-swiper'
import 'swiper/css/swiper.css'

//注册轮播图插件
Vue.use(VueAwesomeSwiper)

3.创建轮播图插件

<template>
  <swiper ref="mySwiper" :options="swiperOptions">
    <swiper-slide><img src="/img/1.jpg" alt=""></swiper-slide>
    <swiper-slide><img src="/img/2.jpg" alt=""></swiper-slide>
    <swiper-slide><img src="/img/3.jpg" alt=""></swiper-slide>
    <swiper-slide><img src="/img/4.jpg" alt=""></swiper-slide>
    <swiper-slide><img src="/img/5.jpg" alt=""></swiper-slide>
    <div class="swiper-pagination" slot="pagination"></div>
  </swiper>
</template>
 
<script>
export default {
  name: "carrousel",
  data() {
    return {
      swiperOptions: {
        loop: true,
        autoplay: {
          delay: 1000,
          stopOnLastSlide: false,
          // 禁止交互的值设置为false,就可以交互
          disableOnInteraction: false,
        },
        pagination: {
          el: ".swiper-pagination",
        },
        // Some Swiper option/callback...
      },
    };
  },
  computed: {
    swiper() {
      return this.$refs.mySwiper.$swiper;
    },
  },
  mounted() {
    console.log("Current Swiper instance object", this.swiper);
    //this.swiper.slideTo(1, 1000, false)
  },
};
</script> 

<style scoped>
img{
    width: 100%;
    height: 100%;
    
}
.swiper-container {
  width: 800px;
  height: 550px;
  background-color: red;
}
</style>
  1. 在主组件App.vue中引入子组件
<template>
  <div id="app">
    <slidepicture></slidepicture>
  </div>
</template>

<script>
import slidepicture from "./components/slideshow.vue"

export default {
  name: 'App',
  components: {
    slidepicture,
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>