关于vue2使用swiper4的踩坑记录

 更新时间:2022年1月10日 10:00  点击:814 作者:甘凤林

前言

一开始打算采用最新的swiper7,后来好像是vue2兼容性问题,各种报错,所以从7退回到6,然后退回到5,5则是遇到鼠标滚轮事件的bug,于是再度回滚,到4终于画风正常了。

首先是引入

npm i swiper

↑这句话不是复制的,是因为出错太多,反复引用导致了可以直接手打的地步。

值得一提的是,下载会默认下载7,直接用艾特符号标定不如直接改版本重新下,此时需要在package.json里面调成版本4后重新下载

踩坑1:为了保证稳定,每次在package.json更该版本,最好立即下载当前版本,随后重启webstorm。

其他软件不清楚是否是必须。

踩坑2:引入位置

如果焦急的你看到这篇博客,而且不介意回滚到4的话,可以下载版本4,随后在需要轮播图的地方引入这三句话

import 'swiper/dist/js/swiper'
import 'swiper/dist/css/swiper.css'
import Swiper from "swiper"

这样就可以去官网拷代码了。new Swiper写在mouted里面。

踩坑3:使用空间,如果是轮播图内套轮播图,则需要注意命名,或者干脆采用id获取

我的代码:

this.swiper = new Swiper(".swiper-container-son1", {})

踩坑4:版本更迭导致无法通用

最简单的一个,前进后退的属性

官网3的示例:

nextButton: '.swiper-button-next',
prevButton: '.swiper-button-prev',

官网的版本7的示例:

navigation: {
     nextEl: ".swiper-button-next",
     prevEl: ".swiper-button-prev",
 },

这里采用的是官网版本7才能生效

绝大部分都是官网 7生效,但是小部分却是要版本4才能生效。

还有一个极致坑爹的属性,滚轮

省略*你妈买菜必超级加倍,跳广场舞永无C位*等脏话。

官网的官方api、swiper3以及swiper7的示例都是同一句

mousewheelControl : true,

但是,也许是swiper4特供,也许是各种不可名状的bug,真正在swiper4可用的代码是

mousewheel: true,

踩坑5:动态渲染导致的各种bug。

如果你的轮播数据来源是请求数据,那么需要补上一句

observer: true,//修改swiper自己或子元素时,自动初始化swiper

或者干脆做的更绝,直接在list监听里面写

watch: {
    imgList() {
        setTimeout(() => {
            // eslint-disable-next-line no-unused-vars
            this.swiper = new Swiper(".swiper-container-son1", {
                speed: 1000,
                autoplay: {
                    delay: 4000,
                    stopOnLastSlide: false,
                    disableOnInteraction: true,
                }
            })
        }, 0)
    }
},

这样可以保证在请求完成之后再执行插件。

附:Vue 引入swiper出错解决方案参考

  • 可能是scss文件未安装。vue-awesome-swiper 的scss文件要单独安装。并不随包一块导入。 cnpm install --save swiper swiper/swiper-bundle.css swiper/swiper.scss

总结

到此这篇关于vue2使用swiper4踩坑的文章就介绍到这了,更多相关vue2使用swiper4踩坑内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

原文出处:https://blog.csdn.net/weixin_44959346/article/details/122380

[!--infotagslink--]

相关文章

  • 源码揭秘为什么 Vue2 this 能够直接获取到 data 和 methods

    本篇文章主要介绍的是Vue2 this 能够直接获取到 data 和 methods,阅读本文将能学到如何学习调试 vue2 源码、data 中的数据为什么可以用 this 直接获取到、methods 中的方法为什么可以用 this 直接获取到,需要的朋友可以参考一下...2021-09-23
  • 解决Go gorm踩过的坑

    这篇文章主要介绍了解决Go gorm踩过的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-30
  • MySQL8.0升级的踩坑历险记

    听说mysql8的性能提升了很多,对于我这种喜欢把所有软件升级到最新版的人来说,二话不说直接升级,这篇文章主要给大家介绍了关于MySQL8.0升级踩坑的相关资料,需要的朋友可以参考下...2021-10-28
  • vue2中filter()的实现代码

    vue2.0里,不再有自带的过滤器,需要自己定义过滤器。下面通过实例代码给大家介绍vue2中filter()的相关知识,感兴趣的朋友一起看看吧...2020-04-20
  • Vue2 的12种组件通讯

    之前文章我们描述给过Vue3 的七通信使用,今天中五篇文章我们再来看看Vue2 的通信使用写法的相关资料,需要的朋友可以参考下面文章的具体内容...2021-09-25
  • Go使用proto3的踩坑实战记录

    这篇文章主要给大家介绍了关于Go使用proto3的踩坑记录,文中通过实例代码介绍的非常详细,对大家学习或者会用Go语言具有一定的参考学习价值,需要的朋友可以参考下...2023-02-15
  • Vue2 响应式系统之数组

    这篇文章主要介绍了Vue2 响应式系统之数组,本文接着上几篇文章Vue2响应式系统 、Vue2 响应式系统之分支切换,响应式系统之嵌套、响应式系统之深度响应 展开相关内容,需要的朋友可以参考一下...2022-04-12
  • Vue2 响应式系统之分支切换

    这篇文章主要介绍了Vue2 响应式系统之分支切换,文章围绕Vue2的相关资料展开主题详细内容,具有一定的参考价值,需要的小伙伴可以参考一下...2022-04-12
  • 关于vue2使用swiper4的踩坑记录

    最近写vue的一个练手项目需要在里面实现一个轮播图,想到去用第三方插件,百度了一轮,发现大部分都是swiper这个插件,这篇文章主要给大家介绍了关于vue2使用swiper4踩坑的相关资料,需要的朋友可以参考下...2022-01-10
  • Vue2响应式系统之set和delete

    这篇文章主要介绍了Vue2响应式系统之set和delete,通过为对象收集依赖,将对象、数组的修改、删除也变成响应式的了,同时为用户提供了和方法,下文详细介绍需要的朋友可以参考一下...2022-04-12
  • Vue2 this 能够直接获取到 data 和 methods 的原理分析

    这篇文章主要介绍了Vue2 this能够直接获取到data和methods的原理分析,因为methods里的方法通过bind指定了this为new Vue的实例...2022-06-24
  • vue2源码解析之全局API实例详解

    全局API并不在构造器里,而是先声明全局变量或者直接在Vue上定义一些新功能,Vue内置了一些全局API,下面这篇文章主要给大家介绍了关于vue2源码解析之全局API的相关资料,需要的朋友可以参考下...2022-11-01
  • Vue2响应式系统介绍

    这篇文章主要介绍了Vue2响应式系统,响应式系统主要实现某个依赖了数据的函数,当所依赖的数据改变的时候,该函数要重新执行,下文更多相关介绍需要的小伙伴可以参考一下...2022-04-12
  • Vue2 响应式系统之深度响应

    这篇文章主要介绍了Vue2 响应式系统之深度响应,文章基于Vue2 响应式系统的相关资料展开对Vue2 深度响应的介绍,需要的小伙伴可以参考一下...2022-04-12
  • Vue2 响应式系统之异步队列

    这篇文章主要介绍了Vue2 响应式系统之异步队列,文章基于Vue2 的相关资料展开对主题的详细介绍,具有一定的参考价值需要的小伙伴可以参考一下...2022-04-12
  • 一场由Java中Integer引发的踩坑实战

    Java中的数据类型分为基本数据类型和复杂数据类型int是前者而integer是后者(也就是一个类),下面这篇文章主要给大家介绍了关于由Java中Integer引发的踩坑实战,需要的朋友可以参考下...2022-11-11