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 相关文章推荐
jQuery 对Select的操作备忘记录
Jul 04 Javascript
jquery插件制作 表单验证实现代码
Aug 17 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
Oct 16 Javascript
Javascript全局变量var与不var的区别深入解析
Dec 09 Javascript
jQuery验证插件 Validate详解
Nov 20 Javascript
JavaScript中的变量定义与储存介绍
Dec 31 Javascript
jquery validate表单验证的基本用法入门
Jan 18 Javascript
深入理解ECMAScript的几个关键语句
Jun 01 Javascript
boostrapTable的refresh和refreshOptions区别浅析
Jan 22 Javascript
vue2.0构建单页应用最佳实战
Apr 01 Javascript
简单实现节流函数和防抖函数过程解析
Oct 08 Javascript
15分钟上手vue3.0(小结)
May 20 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
短波问题解答
2021/02/28 无线电
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
Laravel5.1自定义500错误页面示例
2016/10/09 PHP
PHP chunk_split()函数讲解
2019/02/12 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
jquery动态添加带有样式的HTML标签元素方法
2018/02/24 jQuery
分享vue里swiper的一些坑
2018/08/30 Javascript
vue 避免变量赋值后双向绑定的操作
2020/11/07 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
Python之PyUnit单元测试实例
2014/10/11 Python
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
Python实现快速傅里叶变换的方法(FFT)
2018/07/21 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
python中metaclass原理与用法详解
2019/06/25 Python
简单了解Python生成器是什么
2019/07/02 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
2019/10/11 Python
python orm 框架中sqlalchemy用法实例详解
2020/02/02 Python
学习Python爬虫的几点建议
2020/08/05 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
澳大利亚排名第一的露营和户外设备在线零售商:Outbax
2020/05/06 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
总经理助理工作职责
2014/02/06 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
2014年保洁工作总结
2014/11/24 职场文书
伏羲庙导游词
2015/02/09 职场文书