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 相关文章推荐
写了一个layout,拖动条连贯,内容区可为iframe
Aug 19 Javascript
DOM 基本方法
Jul 18 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
深入分析原生JavaScript事件
Dec 29 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
Bootstrap 填充Json数据的实例代码
Jan 11 Javascript
ES5 ES6中Array对象去除重复项的方法总结
Apr 27 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
Sep 26 Javascript
bootstrap treeview 树形菜单带复选框及级联选择功能
Jun 08 Javascript
uniapp实现横向滚动选择日期
Oct 21 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
如何将数据从文本导入到mysql
2006/10/09 PHP
PHP与SQL注入攻击[三]
2007/04/17 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
jquery分页插件AmSetPager(自写)
2013/04/15 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
如何解决hover在ie6中的兼容性问题
2016/12/15 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
Python 迭代器与生成器实例详解
2017/05/18 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
浅谈three.js中的needsUpdate的应用
2012/11/12 HTML / CSS
服装厂厂长职责
2013/12/16 职场文书
葬礼司仪主持词
2014/03/31 职场文书
文明寄语大全
2014/04/11 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
健康状况证明模板
2014/10/23 职场文书
先进单位事迹材料
2014/12/25 职场文书
公司仓管员岗位职责
2015/04/01 职场文书
2015年公务员个人工作总结
2015/04/24 职场文书
学校工会工作总结2015
2015/05/19 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
python实现学员管理系统(面向对象版)
2022/06/05 Python