• VUE中使用vue-awesome-swiper


    一:首先进入项目目录中安装

    install vue-awesome-swiper@2.6.7 --save

    2.使用

    全局挂载:

    import Vue from 'vue'
    import VueAwesomeSwiper from 'vue-awesome-swiper'
    // require styles
    import 'swiper/dist/css/swiper.css'
    
    Vue.use(VueAwesomeSwiper, /* { default global options } */)

    组件挂载

    // require styles
    import 'swiper/dist/css/swiper.css'
    import { swiper, swiperSlide } from 'vue-awesome-swiper'
    export default {
      components: {
        swiper,
        swiperSlide
      }
    }

    新建一个.vue文件,按照以下代码模式

    <template>
      <div class="index">
        <Top navLeft="true" title="轮播图" navRight="false"></Top>
          <div style="padding-top: 1.3rem;padding-left:0.2rem">
             <swiper id="mySwiper" :options="swiperOption" ref="mySwiper" v-if="swiperList.length!=0">
                <swiper-slide class="swiper-item"  v-for='(item,index) of swiperList' :key='item.id' >
                     <img class='swiper-img' :src='item.imgUrl' alt="门票" @click="swiperClick(index,item.linkUrl)" />
                </swiper-slide>
                <div class="swiper-pagination"    slot="pagination"></div>
            </swiper>
        </div>
      </div>
    </template>
    <script>
    import Top from '@/components/public/Top';
    import 'swiper/dist/css/swiper.css';
    import { swiper, swiperSlide } from 'vue-awesome-swiper'
    export default {
      name: 'Swiper',
      components: {Top,swiper,swiperSlide},
      data() {
          return {
            swiperList:[],
            swiperOption: {
              pagination: ".swiper-pagination",
              initialSlide: 0,//默认第几张
              loop:true, //循环
              autoplayDisableOnInteraction:false,//触摸后再次自动轮播
              autoplay:2000, //每张播放时长3秒,自动播放
              speed:1000,//滑动速度
            }
          }
      },
      created(){
        this.initEvent(); 
        console.log(this.$refs.mySwiper);
        this.swiperOption.autoplay = this.swiperList.length != 1 ? 2000 : false;//如果是一张图片不轮播
    
     
      },
      
      computed: {
          swiper() {
             return this.$refs.mySwiper.swiper//组件实例
          }
      },
      mounted(){ 
         
      },
      methods: {
        initEvent:function(){
            this.$http.get("http://localhost/swiper")
            .then(res=>{
             this.swiperList=res.data.swiperList;
            })
            .catch(error=>{
              console.log(error)
            })
        },
        swiperClick:function(index,url){
         console.log(index);
         this.$router.push(url)
        }
      }
    }
    </script>
    
    <style scoped>
    @import "../assets/public/css/bottom.css";
    @import "../assets/css/index/my.css";
    #mySwiper >>> .swiper-pagination-bullet {
      background: #000000;
    }
    #mySwiper >>> .swiper-pagination-bullet-active {
      background: #ff0000;
    }
    </style>

    页面展示如下

     三:在使用过程中遇到的问题

      1.触摸后再次自动轮播问题,添加以下属性就可以再次轮播

    autoplayDisableOnInteraction:false

    2.样式穿透问题,修改圆点的样式问题

      解决方案是给swiper容器添加上ID,然后再在后面添加>>>,这样就可以解决了

    #mySwiper >>> .swiper-pagination-bullet {
      background: #000000;
    }
    #mySwiper >>> .swiper-pagination-bullet-active {
      background: #ff0000;
    }

     3.解决如果只有一张图片不轮播问题

  • 相关阅读:
    expect script
    2011年11月28日,29日学习内容总结
    2011年11月27日学习内容总结
    Toad使用(转)
    2011年11月30日学习总结
    2011年11月24日学习内容总结
    2010年11月23日学习内容总结
    Toad Can't initialize OCI. Error 1解决办法
    2011年11月25日学习内容总结
    2011年12月1日学习内容总结
  • 原文地址:https://www.cnblogs.com/binmengxue/p/12190992.html
Copyright © 2020-2023  润新知