vue2中swiper6不能正常使用的解决

1 篇文章 0 订阅
1 篇文章 0 订阅

第一步安装swiper6 

 第二步在main.js中引入swiper6

注意:也可以在其他地方引入,但是在main.js中引入,所有的组件都能用swiper的样式

样式的引入,不是平常的引入,引入代码如下

注意:一定要这样引入样式

// 在main.js中引入swiper样式,让所有的组件都能用swiper的样式
import 'swiper/swiper.min.css'
import 'swiper/swiper-bundle.min.css' 

引入这两个文件即可

第三步:new Swiper实例

这里用一种笨方法来演示,主要是学习怎样引入

3.1,引入

注意:一定要引入这两个,少引入一个就不行

import  { Swiper, Navigation } from 'swiper'

3.2,结构

        <div class="swiper-container" id="mySwiper">
          <div class="swiper-wrapper">
            <!-- 用v-for动态的生成 -->
            <div class="swiper-slide" v-for="(carousel) in bannerList" :key="carousel.id">
              <img :src="carousel.imgUrl" />
            </div>

          </div>
          <!-- 如果需要分页器 -->
          <div class="swiper-pagination"></div>

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

3.3,实例化swiper

在mounted中设置一个定时器,两秒之后在实例化Swiper对象,解决异步问题

因为在结构加载完成之后,实例化Swiper才能生效

v-for依赖于state的数据,实例化必须在v--for获得数据,渲染完结构之后,才能正常使用swiper

mounted() {
    // 派发action 通过vuex发起ajax请求,将数据存储在仓库中
    this.$store.dispatch('getBannerList')
    // 在new Swiper实例之前,页面中结构必须得有,但是如果在mounted中直接new Swiper 不行
    // 因为里面有v-for,他所依赖的数据,返回完成之后,才能有完整的结构
    // 所以在这里,先用一个定时器凑活这用
    setTimeout(()=> {        
        Swiper.use([Navigation])
      var mySwiper = new Swiper('.swiper-container', {
        loop: true, // 循环模式选项
        // 如果需要分页器
        pagination: {
          el: '.swiper-pagination',
          clickable:true
        },

        // 如果需要前进后退按钮
        navigation: {
          nextEl: '.swiper-button-next',
          prevEl: '.swiper-button-prev'
        }
      })
    }, 2000)
  },

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周百万.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值