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 相关文章推荐
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法
Mar 29 Javascript
js获取及判断键盘按键的方法
Dec 01 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
May 05 Javascript
jquery.tableSort.js表格排序插件使用方法详解
Aug 12 Javascript
详解Vuejs2.0之异步跨域请求
Apr 20 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
May 09 Javascript
Vuejs 单文件组件实例详解
Feb 09 Javascript
JavaScript学习笔记之数组基本操作示例
Jan 09 Javascript
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
webpack安装配置与常见使用过程详解(结合vue)
Jun 01 Javascript
JavaScript原始值与包装对象的详细介绍
May 11 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
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
php利用递归实现删除文件目录的方法
2016/09/23 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
php输出形式实例整理
2020/05/05 PHP
JS 去前后空格大全(IE9亲测)
2013/07/15 Javascript
javascript生成大小写字母
2015/07/03 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
jsTree使用记录实例
2016/12/01 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
JavaScript两个变量交换值的实现方法
2017/03/01 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
Python导入oracle数据的方法
2015/07/10 Python
Python变量赋值的秘密分享
2018/04/03 Python
python如何创建TCP服务端和客户端
2018/08/26 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
python unichr函数知识点总结
2020/12/16 Python
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
路政管理求职信
2014/06/18 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
单位证明范文
2015/06/18 职场文书