对于 vue cli3 项目中,怎样去使用 swiper 问题的总结 :

这篇文章是对于 vue cli3 项目中,怎样去使用 swiper 问题的总结 ,在使用vue cli3 创建的 vue 项目中,用到 swiper 滑动组件来实现一个 轮播 的效果;


  • swiper 概念 : 

swiper.js 是一款成熟稳定的应用于 PC端移动端滑动效果插件,一般用来 触屏焦点图、触屏整屏滚动 等效果。 swiper分为 2.x  版本和 3.x  版本、 4.x、5.x 版本,2.x版本支持低版本浏览器(IE7),3.x以上放弃支持低版本浏览器,适合应用在移动端

  •  下载 swiper 插件 :
npm install swiper vue-awesome-swiper --save
  • 配置 main.js :
import  VueAwesomeSwiper from 'vue-awesome-swiper'
import  'swiper/css/swiper.css'
Vue.use(VueAwesomeSwiper)
  • 在后缀为.vue的页面上 :
<template>
  <div id="container">

    <swiper :options="swiperOption" ref="mySwiper">

      <swiper-slide class="swiper-slide games" v-for="item in list" :key="item.id">
        <img :src="item.src" alt="图片加载失败!">
      </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';

  export default {

    name: 'carrousel',
    data() {
      return {
        list:[
          {id:1,src:require('@/assets/image/1.jpg')},
          {id:2,src:require('@/assets/image/2.jpg')},
          {id:3,src:require('@/assets/image/3.jpg')},
          {id:4,src:require('@/assets/image/4.jpg')}
        ],
        swiperOption: {
          autoplay: {//可选选项,自动滑动
            disableOnInteraction: false, //用户操作后是否禁止自动循环
            delay: 3000 //自自动循环时间
          },
          speed: 2000, //切换速度,即slider自动滑动开始到结束的时间(单位ms)
          loop: true, //循环切换
          grabCursor: true, //设置为true时,鼠标覆盖Swiper时指针会变成手掌形状,拖动时指针会变成抓手形状
          // setWrapperSize: true, //Swiper使用flexbox布局(display: flex),开启这个设定会在Wrapper上添加等于slides相加的宽或高,在对flexbox布局的支持不是很好的浏览器中可能需要用到。
          autoHeight: true, //自动高度。设置为true时,wrapper和container会随着当前slide的高度而发生变化。
          scrollbar: '.swiper-scrollbar',
          mousewheelControl: true, //设置为true时,能使用鼠标滚轮控制slide滑动
          observeParents: true, //当改变swiper的样式(例如隐藏/显示)或者修改swiper的子元素时,自动初始化swiper

          pagination: {
            el: '.swiper-pagination',
            // type : 'progressbar', //分页器形状
            clickable: true //点击分页器的指示点分页器会控制Swiper切换
          },

          navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev'
          }
        }
      }
      },
    computed: {
        swiper() {
          return this.$refs.mySwiper.swiper;
        }
      }
  }
</script>

 注意: 在vue中加载图片路径跟我们不用框架引入路径是不同,在页面中使用的话,写的路径是可以生效的,但是我们想动态加载图片路径的话是不生效的。

  • 解决方案一 :

    1,页面上,绑定动态路径
    <img :src="imgUrl">

    2, data 里面:用 require(图片加载)
    data(){
    return {
    imgUrl:require('@/assets/image/1.png');
    }
    }

  • 解决方案二 :

       把图片放到static,然后相对路径获取图片就好了;

        src: '../../../../static/image/1.png';   


<style scoped="scoped">
 img {
width: 100%;
height: 300px;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值