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中使用Object.prototype.toString判断是否为数组
Apr 01 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
js实现文字滚动效果
Mar 03 Javascript
JavaScript中自带的 reduce()方法使用示例详解
Aug 10 Javascript
js实现消息滚动效果
Jan 18 Javascript
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
JavaScript使用FileReader实现图片上传预览效果
Mar 27 Javascript
详解vue移动端日期选择组件
Feb 22 Javascript
js中数组常用方法总结(推荐)
Apr 09 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 Javascript
gojs实现蚂蚁线动画效果
Feb 18 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 Sql Server连接失败问题及解决办法
2009/08/07 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
PHP二维数组排序简单实现方法
2016/02/14 PHP
THinkPHP获取客户端IP与IP地址查询的方法
2016/11/14 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
javascript textContent与innerText的异同分析
2010/10/22 Javascript
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
angularJS之$http:与服务器交互示例
2017/03/17 Javascript
微信小程序获取手机号授权用户登录功能
2017/11/09 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
Vue data的数据响应式到底是如何实现的
2020/02/11 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
详解numpy.meshgrid()方法使用
2019/08/01 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
商场端午节活动方案
2014/01/29 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
2014年五一促销活动方案
2014/03/09 职场文书
医学专业毕业生求职信
2014/06/20 职场文书
服务宗旨标语
2014/07/01 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
2014财务部年度工作总结
2014/12/08 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
Nginx的基本概念和原理
2022/03/21 Servers