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 学习6 操纵元素显示效果的函数
Feb 07 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
Feb 23 Javascript
node.js中的fs.readdirSync方法使用说明
Dec 17 Javascript
jQuery中ajax的load()方法用法实例
Dec 26 Javascript
jquery操作select方法汇总
Feb 05 Javascript
JS函数的几种定义方式分析
Dec 17 Javascript
AngularJS  $modal弹出框实例代码
Aug 24 Javascript
巧用Javascript的逻辑运算符
Dec 02 Javascript
bootstrap table动态加载数据示例代码
Mar 25 Javascript
echart简介_动力节点Java学院整理
Aug 11 Javascript
three.js实现3D影院的原理的代码分析
Dec 18 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
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
PHP数组实例详解
2016/06/26 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
JavaScript利用正则表达式去除日期中的“-”
2014/07/01 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
jQuery插件passwordStrength密码强度指标详解
2016/06/24 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
除Console.log()外更多的Javascript调试命令
2018/01/24 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
js的对象与函数详解
2019/01/21 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
Preload基础使用方法详解
2020/02/03 Javascript
Python提取特定时间段内数据的方法实例
2019/04/01 Python
学习python分支结构
2019/05/17 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
django中related_name的用法说明
2020/05/20 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
财务管理职业生涯规划范文
2013/12/27 职场文书
党课培训主持词
2014/04/01 职场文书
教师年度考核评语
2014/04/28 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
母亲节感言
2015/08/03 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
python解析照片拍摄时间进行图片整理
2022/07/23 Python