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 .ajax 在IE下卡死问题的解决方法
Oct 26 Javascript
javascript面向对象特性代码实例
Jun 12 Javascript
js实现DOM走马灯特效的方法
Jan 21 Javascript
ionic实现带字的toggle滑动组件
Aug 27 Javascript
Javascript 闭包详解及实例代码
Nov 30 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 Javascript
Angularjs上传文件组件flowjs功能
Aug 07 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
Mar 19 Javascript
详解 微信小程序开发框架(MINA)
May 17 Javascript
vue更改数组中的值实例代码详解
Feb 07 Javascript
vue渲染方式render和template的区别
Jun 05 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 curl 获取https请求的2种方法
2015/04/27 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
JSON辅助格式化处理方法
2013/03/26 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
讲解vue-router之什么是嵌套路由
2018/05/28 Javascript
js实现聊天对话框
2020/02/08 Javascript
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
pandas读取csv文件,分隔符参数sep的实例
2018/12/12 Python
Python中整数的缓存机制讲解
2019/02/16 Python
Python定时任务工具之APScheduler使用方式
2019/07/24 Python
python实现飞船大战
2020/04/24 Python
Python爬虫与反爬虫大战
2020/07/30 Python
Python lambda表达式原理及用法解析
2020/08/18 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
Django url 路由匹配过程详解
2021/01/22 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
英国天然有机美容护肤品:Neal’s Yard Remedies
2018/05/05 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
北承题目(C++)
2012/05/16 面试题
统计每一学生的平均成绩
2014/06/06 面试题
外贸公司实习自我鉴定
2013/09/24 职场文书
鲜花方阵解说词
2014/02/13 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
推销搭讪开场白
2015/05/28 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
Python Pygame实战之塔防游戏的实现
2022/03/17 Python