VueAwesomeSwiper在VUE中的使用以及遇到的一些问题


Posted in Javascript onJanuary 11, 2018

Vue-Awesome-Swiper

轮播图插件,可以同时支持Vue.js(1.X ~ 2.X),兼顾PC和移动端,随着vue的广泛使用,其中插件swiper也算是使用的比较频繁的插件,现在分享一下使用方法以及开发中会遇到的一些问题。

我们先下载包,然后去main.js里面配置。

npm install vue-awesome-swiper --save

我们可以用import的方法

//import
import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper'

也可以用require

var Vue = require('vue')
var VueAwesomeSwiper = require('vue-awesome-swiper')

两者都可以达到目的,然后再mian.js里面全局注册

Vue.use(VueAwesomeSwiper)

在模板里使用

import { swiper, swiperSlide } from 'vue-awesome-swiper'
 
export default {
 components: {
  swiper,
  swiperSlide
 }
}
<template>
 <swiper :options="swiperOption" ref="mySwiper">
  <!-- slides -->
  <swiper-slide v-for="slide in swiperSlides" v-bind:style="{ 'background-image': 'url(' + slide + ')' }" :key="slide.id"></swiper-slide>
  <!-- Optional controls -->
  <div class="swiper-pagination" slot="pagination"></div>
  <div class="swiper-button-prev" slot="button-prev"></div>
  <div class="swiper-button-next" slot="button-next"></div>
 </swiper>
</template>

<script>
import { swiper, swiperSlide } from 'vue-awesome-swiper'
export default {
 name: 'carrousel',
 components: {
  swiper,
  swiperSlide
 },
 data () {
  return {
   swiperOption: { //以下配置不懂的,可以去swiper官网看api,链接http://www.swiper.com.cn/api/
    notNextTick: true, // notNextTick是一个组件自有属性,如果notNextTick设置为true,组件则不会通过NextTick来实例化swiper,也就意味着你可以在第一时间获取到swiper对象,假如你需要刚加载遍使用获取swiper对象来做什么事,那么这个属性一定要是true
    autoplay: true,
    loop: true,
    direction: 'horizontal',
    grabCursor: true,
    setWrapperSize: true,
    autoHeight: true,
    pagination: {
     el: '.swiper-pagination'
    },
    centeredSlides: true,
    paginationClickable: true,
    navigation: {
     nextEl: '.swiper-button-next',
     prevEl: '.swiper-button-prev'
    },
    keyboard: true,
    mousewheelControl: true,
    observeParents: true, // 如果自行设计了插件,那么插件的一些配置相关参数,也应该出现在这个对象中,如下debugger
    debugger: true
   },
   swiperSlides: ['../../static/img/swiper1.jpg', '../../static/img/swiper2.jpg', '../../static/img/swiper3.jpg', '../../static/img/swiper4.jpg']
  }
 }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style>
html, body, #app {
 height: 100%;
 width: 100%;
}
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
 height: 100vh;
}
.swiper-pagination-bullet {
 width: 15px;
 height: 15px;
}
.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets {
 bottom: 8%;
}
</style>

这样就可以正常使用了,但是以下是一些开发中遇到的一些问题。

很多人在引入swiper的时候会出现小点swiper-pagination出不来或者一些配置属性没有生效。原因是现在最新的swiper版本已经开始区分组件和普通版本了。

在低版本swiper中,我们可以这么写(我相信大部分童鞋百度,论坛到的使用方法大多是这样子的)

<script>
 // swiper options example:
 export default {
  name: 'carrousel',
  data() {
   return {
    swiperOption:
     notNextTick: true,
     // swiper configs 所有的配置同swiper官方api配置
     autoplay: 3000,
     direction: 'vertical',
     grabCursor: true,
     setWrapperSize: true,
     autoHeight: true,
     pagination: '.swiper-pagination',
     paginationClickable: true,
     prevButton: '.swiper-button-prev',//上一张
     nextButton: '.swiper-button-next',//下一张
     scrollbar: '.swiper-scrollbar',//滚动条
     mousewheelControl: true,
     observeParents: true,
     debugger: true,
    }
   }
  },
 
 }
</script>

注意!!!!

这其中的autoplay和pagination和prevButton和nextButton等属性,在低版本中是允许这么使用的,并且可以功能正常生效,但是再高版本swiper中这样写不会生效,并且vue不会报错。

接下来我们看官网api,拿分页器pagination举个栗子:

VueAwesomeSwiper在VUE中的使用以及遇到的一些问题

在以前低版本的swiper是没有这样子的区分的!所以现在我们可以看看最新版本的swiper分页器的具体文档:

VueAwesomeSwiper在VUE中的使用以及遇到的一些问题

图中标记的部分很明显已经不同于低版本的swiper的使用方法。

还有一些区别官网的api已经写的很清楚了,感兴趣的小伙伴可以自行在官网api中阅读查看噢!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
根据地区不同显示时间的javascript代码
Aug 13 Javascript
JS子父窗口互相操作取值赋值的方法介绍
May 11 Javascript
js实现页面转发功能示例代码
Aug 05 Javascript
javascript中sort() 方法使用详解
Aug 30 Javascript
jQuery鼠标悬浮链接弹出跟随图片实例代码
Jan 08 Javascript
JavaScript实现显示函数调用堆栈的方法
Apr 21 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
Web制作验证码功能实例代码
Jun 19 Javascript
js监听html页面的上下滚动事件方法
Sep 11 Javascript
使用layui前端框架弹出form表单以及提交的示例
Oct 25 Javascript
angular2中Http请求原理与用法详解
Jan 11 #Javascript
基于node下的http小爬虫的示例代码
Jan 11 #Javascript
JS脚本实现网页自动秒杀点击
Jan 11 #Javascript
Javascript网页抢红包外挂实现分享
Jan 11 #Javascript
JS写谷歌浏览器chrome的外挂实例
Jan 11 #Javascript
React 高阶组件入门介绍
Jan 11 #Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 #Javascript
You might like
PHP中实现进程间通讯
2006/10/09 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
浅谈vux之x-input使用以及源码解读
2018/11/04 Javascript
JavaScript栈和队列相关操作与实现方法详解
2018/12/07 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
JS实现页面侧边栏效果探究
2021/01/08 Javascript
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
Linux面试题LINUX系统类
2015/11/25 面试题
护理职业应聘自荐书
2013/09/29 职场文书
校园网站的创业计划书范文
2013/12/30 职场文书
我的祖国演讲稿
2014/05/04 职场文书
一份文言文检讨书
2014/09/13 职场文书
个人房屋转让协议书范本
2014/10/26 职场文书
2015年营业员工作总结
2015/04/23 职场文书
解决Swagger2返回map复杂结构不能解析的问题
2021/07/02 Java/Android