关于vue2使用swiper4的踩坑记录

 更新时间:2022年01月09日 14:47:04   作者:甘凤林  
最近写vue的一个练手项目需要在里面实现一个轮播图,想到去用第三方插件,百度了一轮,发现大部分都是swiper这个插件,这篇文章主要给大家介绍了关于vue2使用swiper4踩坑的相关资料,需要的朋友可以参考下

前言

一开始打算采用最新的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踩坑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue3实现手机上可拖拽元素的组件

    vue3实现手机上可拖拽元素的组件

    这篇文章主要介绍了vue3实现手机上可拖拽元素的组件,用vue3实现一个可在手机上拖拽元素的组件,可拖拽至任意位置,并且可以防止拖拽元素移出屏幕边缘
    2022-09-09
  • 浅谈vue+vite项目部署会遇到的几个问题

    浅谈vue+vite项目部署会遇到的几个问题

    本文主要介绍了vue+vite项目部署会遇到的几个问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 浅谈vue在html中出现{{}}的原因及解决方式

    浅谈vue在html中出现{{}}的原因及解决方式

    这篇文章主要介绍了浅谈vue在html中出现{{}}的原因及解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vue中非父子组件的通信你了解吗

    vue中非父子组件的通信你了解吗

    这篇文章主要为大家详细介绍了vue中非父子组件通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • 一篇文章学会Vue中间件管道

    一篇文章学会Vue中间件管道

    这篇文章主要给大家介绍了如何通过一篇文章学会Vue中间件管道的相关资料,什么是中间件管道?中间件管道是一堆不同的中间件并行运行,本文通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-06-06
  • Vue之绑定class样式与style样式方式

    Vue之绑定class样式与style样式方式

    这篇文章主要介绍了Vue之绑定class样式与style样式方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • vue 指定文字高亮的实现示例

    vue 指定文字高亮的实现示例

    在做文字处理的项目时经常会遇到搜索文字并高亮的需求,本文就来介绍vue 指定文字高亮的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • vue+axios实现文件上传的实时进度条

    vue+axios实现文件上传的实时进度条

    最近用vue写上传的时候,遇到一个需求就是页面上展示上传的进度条,之后写过一次,但是用的是假交互,直接从0-100,今天分享一下用axios自带的onUploadProgress来完成这个小需求,感兴趣的朋友可以参考下
    2024-01-01
  • vue实现可以快进后退的跑马灯组件

    vue实现可以快进后退的跑马灯组件

    这篇文章主要为大家详细介绍了vue编写一个可以快进后退的跑马灯组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法

    Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法

    这篇文章主要介绍了VUE.js 中取得后台原生HTML字符串 原样显示问题 ,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06

最新评论