偶遇vue-awesome-swiper的坑
最近用vue重构一个移动端的项目,碰到了不少坑,今天拿移动端最著名的轮播插件swiper为例来说,由于这个项目没用UI库,纯手写的样式,沿用老的插件,自然而然的选择了vue-awesome-swiper(3.1.3)最新版,记不清上次用这个插件多久了,现在用来竟遇到很多坑,今晚闲暇以此记录,帮助大家避免踩坑。
1. 轮播图不轮播
这个原因有很多,首先要检查样式swiper.css是否正确的引进来了,其次是最容易被忽略的也是这次最主要的原因,最新版的vue-awesome-swiper是基于swiper4,有很多配置option已经变了,最为明显的就是原来的key-value格式autoplay: true,现在已经变成了下面这样的json格式:
autoplay:{
enabled: true,
disableOnInteraction: false,
delay: 3000
},
pagination: {
el: '.pagination'
}
下图为证:
官网上的图
配置好以后应该是可以轮播了,还有就是SPA如果不是多个轮播的话没必要全局引这个,
import VueAwesomeSwiper from 'vue-awesome-swiper';
import 'swiper/dist/css/swiper.css';
Vue.use(VueAwesomeSwiper);
只需要在封装好的轮播组件内引入以下这个就够了。
import { swiper, swiperSlide } from 'vue-awesome-swiper';
import 'swiper/dist/css/swiper.css'
2. 分页器pagination没出现
这个的话其一就是因为上面提到的配置option格式变了,其二是需要在pagination 的div盒子里增加slot="pagination"用来分发,这两个都没问题的话应该就OK了。
3. 轮播第二次开始后第一张图一闪而过
这个问题困扰了我好久,百度了很久也没找到有用的线索,今天早上去了公司心里想这个问题必须解决啊,要不体验也太差了,所以直接Google一下吧,第一个答案就是vue-awesome-swiper的GitHub上的issue,一看原来早已有人遇到了类似的问题,作者给出的解释是由于vue特殊的渲染机制导致数据没有完全返回时swiper已经初始化了,现在解决的方法是加v-if=“data.length”,保证数据完全返回了才开始渲染swiper,这样总算是解决了,体验马上好极啦!之前由于英文不好所以一般有问题都是百度,最近发现同事有问题都是Google,今日一试果然是快准狠,以后要充分的利用好Google和StackOverFlow,提升效率不是一点半点哈!
4. resize()方法报错undefined
这个问题也是因为swiper4已经把resize变为一个object,它包含两个方法,我用了它的resizeHandler()方法,这样就OK了。
技术在不断进步,插件在不断更新,以后遇到问题一定要先看原文档,解决问题多借助Google!
偶遇vue-awesome-swiper的坑的更多相关文章
- vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件
vue引入swiper vue使用swiper vue脚手架使用swiper /引入js文件/引入css文件 ------------------------------------------- ...
- vue项目打包采坑
1. vue项目打包采坑 1.1. vue运行报错error:Cannot assign to read only property 'exports' of object '#' 这个错误我是在打包 ...
- vue配置环境踩坑
Vue 环境配置踩坑 目录 Vue 环境配置踩坑 windows下cnpm -v :无法将"cnpm"项识别为 cmdlet.函数.脚本文件或可运行程序的名称. windows下c ...
- vue 使用swiper的一些问题(页面渲染问题)
//Swiper上下滚动初始化 swiper_init(){ this.$nextTick(function(){ var mySwiper = new Swiper ('.swiper-contai ...
- vue中遇到的坑!!!!!
一 .vue安装的坑 报错时的常见问题 1.cnpm install 模块名 –save-dev(关于环境的,表现为npm run dev 启动不了)cnpm install 模块名 –save(关于 ...
- vue+ vue-router + webpack 踩坑之旅
说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案 老司机可以忽略下面的内容了 1)起因 考虑到数据分离的问题 因为server是express搭的 自然少 ...
- Vue与swiper想结合封装全屏轮播插件
项目需求介绍: 1.页面图文混排, 2.点击图片后全屏展示图片,并在底部显示文字,如果没有则不显示 3.关闭全屏后依然停留在上次浏览的位置 4.浏览图片时,不管点击的哪张图片,全屏展示的时候也要显示这 ...
- vue中的css作用域、vue中的scoped坑点
一.css作用域 之前一直很困扰css的作用域问题,即使是模块化编程下,在对应的模块的js中import css进来,这个css仍然是全局的.导致在css中需要加上对应模块的html的id/class ...
- vue数据响应的坑
1.首先遇到的第一个坑是数组 vue初始化时,data是一个数组并且为空的时候,里面有一些对象元素,直接改变这些对象的的属性不会触发视图更新 解决办法,copy一个新的数组(vue.assign是浅c ...
- vue awaresome swiper的使用
main.jsimport VueAwesomeSwiper from 'vue-awesome-swiper'import 'swiper/dist/css/swiper.css'Vue.use(V ...
随机推荐
- JavaScript实现强制重定向至HTTPS页面
<script type="text/javascript"> var targetProtocol = "https:"; if (window. ...
- 谷歌chrome 插件(扩展)开发——谈谈安装
chrome extension 安装的方式简单,打包方式也是非常简单的. 官方给出了三种安装方式: Chrome Web Store:把你的扩展程序上传到Chrome Web Store, &q ...
- Java过滤XSS脚本, 可通过Appscan扫描
项目中有时会需要把一些报错或者解决方案直接返回给前端, 如果直接返回原字符串, 可能会被恶意传参来实现xss注入. 例如常规业务访问一个页面读取文件&file=sdf.cpt, 如果文件不存在 ...
- font awesome矢量图标框架
一.font awesome简介 目前图标总数共有519个; 不依赖Javascript 矢量图形,无限缩放 免费,可用于商业 CSS控制样式,自定义图标颜色,大小,阴影,一切可能实现的效果 支持re ...
- 在做APP前端开发时应注意的一些问题
在做APP前端开发时应注意的一些问题 在整个app开发流程中,app前端开发是一个必不可少的环节,也是一个在app开发过程中重量级的角色.说到这,那么在app应用的前端开发中,又要注意什么问题呢?一. ...
- IPFS: Merkle DAG数据结构
今天带大家来深入探索一下IPFS的核心数据结构Merkle DAG 什么是 Merkle DAG? Merkle DAG是IPFS系统的核心概念之一,当然Merkle DAG并不是IPFS团队发明的, ...
- Django基础(二):环境配置
前戏 WEB框架简介 具体介绍Django之前,必须先介绍WEB框架等概念. web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子. 一般web框 ...
- linux系统磁盘空间满了怎么办看完这篇文章之后就知道怎么解决了
废话不多说直接上图 可以看得到 / 下面已使用100%,已经没有剩余空间可以使用了,上面跑的服务已经访问不了了. 接下来我就看看有没有垃圾文件可以清理的 du -sh * 由于这个机器比较特殊,上面有 ...
- 智齿客服网页端接入文档V2.3
产品介绍 智齿客服网页端接入提供以下两种部署方式. 一.网页组件(推荐) 通过智齿客服网站咨询组件,企业的用户可快捷联系到企业客服获取帮助.智齿客服网页组件提供强大的用户行为采集能力和系统对接能力,支 ...
- STL --> vector向量
vector向量 vector是一种对象实体,能够容纳许多其他类型相同的元素,因为又被称为容器. 头文件 在使用它时,需要包含头文件 <vector>. #include <vect ...