本文介绍: 6.1、解决没有分页器分页器出不出现,点击没有效果;很大的情况下分页器不出现,可能就是这个影响。一定要加上clickable: true,这样点击分页器,才有效!(下方有完整代码)6.2、解决自动播放Autoplay:能不能自动播放就靠他!6.3、解决点击前进后退按钮不起作用前进、后退按钮点击没有效果;如果没有他,只有样式点击不起作用

目录

1、下载swiper6版本的swiper

 2、引入swiper的样式

3、轮播图的内容

4、引入组件


npm i swiper@6

建议直接在main.js引入,这样只引入一次即可

importswiper/swiper.min.css

importswiper/swiperbundle.min.css

其中v-for里面名字可以自定义选择  推荐使用   carousel

        <!--banner轮播-->
        <div class="swiper-container" id="mySwiper">
          <div class="swiper-wrapper">
            <div class="swiper-slide" v-for="item in bannerList" :key="item.id">
              <img :src=item.imgUrl />
            </div>
          </div>
          <!-- 如果需要分页器 -->
          <div class="swiper-pagination" slot="pagination"></div>

          <!-- 如果需要导航按钮 -->
          <div class="swiper-button-prev"></div>
          <div class="swiper-button-next"></div>
        </div>

一步是关键,一定要注意!!!

4.1、引入

import { Swiper, Navigation, Pagination, Autoplay } from ‘swiper’

 4.2、使用

Swiper.use([Navigation, Pagination, Autoplay])

4.3、解释

4.3.1、Navation:前进、后退按钮点击没有效果;如果没有他,只有样式点击不起作用

4.3.2、Pagination:分页器出不出现,点击没有效果;很大的情况下分页器不出现,可能就是这个影响

一定要加上clickable: true,这样点击分页器,才有效!(下方有完整代码)

4.3.3、Autoplay:能不能自动播放就靠他!

注意:在this.$nextTick之后使用就行,这个接下来一步中。 

watch的作用:监听banner数据,等有了数据之后再创建swiper的实例

this.$nextTick的作用:等v-for遍历循环之后,再执行回调函数

1 、确保有banner轮播图的数据

 2、页面轮播图的结构有了之后,再初始化swiper实例

watch: {
    // 使用watch监听一下bannerList的数据,从没有到有
    bannerList: {
      handler() {
        // 能到这里说明bannerList已经有数据了
        // 但是必须v-for遍历循环之后(结构有了之后)再new Swiper才行
        this.$nextTick(() => {
          Swiper.use([Navigation, Pagination, Autoplay])
          var mySwiper = new Swiper('.swiper-container', {
            loop: true, // 循环模式选项
            direction: 'horizontal' /*横向滑动*/,

            // 如果需要分页器
            pagination: {
              el: '.swiper-pagination',
              clickable: true
            },

            // 如果需要前进后退按钮
            navigation: {
              nextEl: '.swiper-button-next',
              prevEl: '.swiper-button-prev'
            },
            autoplay: {
              delay: 1000 //1秒切换一次
            }
          })
        })
      }
    }
  }

注意:以下的解决,都是对第四步的解释,只是方便你们找到!!!

分页器出不出现,点击有没有效果;很大的情况下分页器不出现,可能就是这个影响

一定要加上clickable: true,这样点击分页器,才有效!(下方有完整代码)

Autoplay:能不能自动播放就靠他!

前进、后退按钮点击有没有效果;如果没有他,只有样式,点击不起作用

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注