vue 轮播插件使用

Posted 面朝阳光/

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 轮播插件使用相关的知识,希望对你有一定的参考价值。

<template>
	<div>
		 <Swiper ref="swiper" v-if="list.length > 0" :autoPlay=‘true‘ :showIndicator=‘true‘ interval="2500" duration="500">
	        <Slide @click="clickMe" v-for="(tag,key) in list" :key="key">
	        	<img :src="tag.img" />
	        </Slide>
	   </Swiper>
	   <div><button @click="preve">上一张</button></div>
	   <div><button @click="next">下一张</button></div>
   </div>
</template>

<script>
		import { Swiper, Slide } from ‘vue-swiper-component‘;
    export default {
        data() {
            return {
                list: [
                    { img: ‘https://qiniu.epipe.cn/5456575529551388672?imageslim&imageView2/1/w/750/h/360‘ },
                    { img: ‘https://qiniu.epipe.cn/5430983074181545984?imageslim&imageView2/1/w/750/h/360‘ },
                    { img: ‘https://qiniu.epipe.cn/5464226412548325376?imageslim&imageView2/1/w/750/h/360‘ }
                ]
            }
        },
        components: {
				    Swiper,
				    Slide
				},
        methods: {
            clickMe (index){
            		console.log(index)
            },
            preve(){
            	this.$refs.swiper.prevSlide();
            },
            next(){
            	this.$refs.swiper.nextSlide();
            }
            
        }
    }

	
</script>

<style>
  img {
      width: 100%;
  }

.button {
    margin-top: 30px;
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding-left: 14px;
    padding-right: 14px;
    box-sizing: border-box;
    font-size: 18px;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    line-height: 2.33333333;
    border-radius: 5px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    overflow: hidden;
    border-width: 0;
    width: 50%;
    padding: 0 30px 0 30px;
    outline: 0;
    -webkit-appearance: none;
    background-color: #26a2ff;
}

.button:active {
    opacity: 0.5;
    color: #333;
}

.button2 {
    margin-top: 100px;
}
</style>

  参考地址

https://github.com/zwhGithub/vue-swiper

 

使用方法//

npm i vue-swiper-component --save
cnpm i vue-swiper-component --save  //国内镜像

import { Swiper, Slide } from ‘vue-swiper-component‘;

components: {
    Swiper,
    Slide
}

  //加一些参数配置情况
  <Swiper v-if="slidesReal.length > 0" :autoPlay=‘true:showIndicator=‘true‘ interval="2500" duration="500">
        <Slide @click="clickMe" v-for="(tag,key) in slidesReal" :key="key">
        	//添加click事件
        </Slide>
   </Swiper>




属性说明默认
autoPlay 是否自动轮播 true
showIndicator 是否显示轮播的那个点 true
interval 每两次隔多久滚动一次 2500
duration 每次滚动一页需要多久时间 500
 


Swiper 上面还暴露了其他方法,在 Swiper 标签上添加 ref 属性, 例如: <Swiper ref="swiper"></Swiper>

    ?  this.$refs.swiper.prevSlide(); // 上一张图
    ?  this.$refs.swiper.nextSlide(); // 下一张图
    ?  this.$refs.swiper.slideTo(2); //某一张图

以上是关于vue 轮播插件使用的主要内容,如果未能解决你的问题,请参考以下文章

轮播插件vue-awesome-swiper的基本使用

vue 轮播插件使用

vue轮播图插件vue-awesome-swiper的使用与组件化

vue轮播插件vue-awesome-swiper

3D轮播插件vue-carousel-3d非官方最全文档

vue_cli轮播图--swiper插件