一、使用方法

二、常见情况

图片需要动态获取时

待数据加载成功且渲染完毕后,进行节点初始化。例:

axios.post(‘接口地址', 参数).then(response => {

this.pages = response.data; //pages 渲染数据的数组

this.$nextTick(() => { //渲染结束

// mySwiper 里面的属性按需配置,详情见官网

let mySwiper = new Swiper(".swiper-container", {

initialSlide :0,//默认播放(值为图片下标)

loop: false,//不循环

speed: 600, //切换速度

paginationClickable: true, //点击小点可以切换

});

});

});

当有 3 组图片需要依次播放时(多组以此类推)

情景:第 2 组图片滑动最后一张时,需要加载第 3 组图片;第 2 组图片滑动第一张时,需要加载第 1 组图片。

方法:在初始化的时候,配置回调函数onTouchStart(开始滑动的X轴值)和 onTouchEnd(结束滑动的X轴值)。用差值来判断是往前滑还是往后划。

this.$nextTick(() => {

let mySwiper = new Swiper(".swiper-container", {

observer: true, //修改swiper自己或子元素时,自动初始化swiper

observeParents: true, //修改swiper的父元素时,自动初始化swiper

onTouchStart: function(swiper) {

this.positionStart = swiper.getWrapperTranslate();

},

onTouchEnd: function(swiper) {

this.positionEnd = swiper.getWrapperTranslate();

if (this.positionStart > this.positionEnd && this.pages.length - 1 == this.mySwiper.activeIndex) {

//向后滑,加载后一组图片

} else if (mySwiper.activeIndex == 0 && this.positionStart < this.positionEnd) {

//向前划,加载前一组图片

}

}

});

});

这时,图片已经加载了另外一组图片,但是各组图片之间没有连贯起来,这就需要用到 slideTo方法去跳转(若加载第 3 组,则跳转到下标第 0 个;若加载第 1 组,则跳转到下标第 图片个数-1 个)。

mySwiper.slideTo('要跳转的图片下标', 10, false) // 10表示跳转速度;false 代表是否触发回到函数

数据方法配置

export default {

name: '',

data() {

return {

swiperOption: {

// NotNextTick is a component's own property, and if notNextTick is set to true, the component will not instantiate the swiper through NextTick, which means you can get the swiper object the first time (if you need to use the get swiper object to do what Things, then this property must be true)

// notNextTick是一个组件自有属性,如果notNextTick设置为true,组件则不会通过NextTick来实例化swiper,也就意味着你可以在第一时间获取到swiper对象,假如你需要刚加载遍使用获取swiper对象来做什么事,那么这个属性一定要是true

notNextTick: true,

// swiper configs 所有的配置同swiper官方api配置

autoplay: 3000,

// direction : 'vertical',

effect:"coverflow",

grabCursor : true,

setWrapperSize :true,

// autoHeight: true,

// paginationType:"bullets",

pagination : '.swiper-pagination',

paginationClickable :true,

prevButton:'.swiper-button-prev',

nextButton:'.swiper-button-next',

// scrollbar:'.swiper-scrollbar',

mousewheelControl : true,

observeParents:true,

// if you need use plugins in the swiper, you can config in here like this

// 如果自行设计了插件,那么插件的一些配置相关参数,也应该出现在这个对象中,如下debugger

// debugger: true,

// swiper callbacks

// swiper的各种回调函数也可以出现在这个对象中,和swiper官方一样

// onTransitionStart(swiper){

// console.log(swiper)

// },

// more Swiper configs and callbacks...

// ...

}

}

},components: {

swiper,

swiperSlide

},

// you can find current swiper instance object like this, while the notNextTick property value must be true

// 如果你需要得到当前的swiper对象来做一些事情,你可以像下面这样定义一个方法属性来获取当前的swiper对象,同时notNextTick必须为true

computed: {

swiper() {

return this.$refs.mySwiper.swiper

}

},

mounted() {

// you can use current swiper instance object to do something(swiper methods)

// 然后你就可以使用当前上下文内的swiper对象去做你想做的事了

// console.log('this is current swiper instance object', this.swiper)

// this.swiper.slideTo(3, 1000, false)

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

swiper vue 初始化方法_详解swiper在vue中的应用(以3.0为例)相关推荐

  1. vue 初始化方法_前端发展方向指南—Vue源码初始化

    Vue 的源码结构比较绕,同时使用了大量的面向对象的高级技巧.重写方法,扩展方法,多态等应用.从 Vue 实例的加载过程就可以看出来,这一节重点看看 Vue 的源码加载流程是什么. 前言 vue已是目 ...

  2. jq的插件 vue中引用_详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件

    本篇文章主要介绍了详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件,具有一定的参考价值,有兴趣的可以了解一下 使用vue-cli构建的vue项目,webpack的配置文 ...

  3. python英语字典程序修改_详解如何修改python中字典的键和值

    我们知道python中字典是无序的,它们都是通过hash去对应的.一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下: t = {} t['a ...

  4. python字典修改键所对应值_详解如何修改python中字典的键和值

    我们知道python中字典是无序的,它们都是通过hash去对应的.一般的如果我们需要修改字典的值,只需要直接覆盖即可,而修改字典的键,则需要使用字典自带的pop函数,示例如下: t = {} t['a ...

  5. java用redis缓存的步骤_详解在Java程序中运用Redis缓存对象的方法|chu

    这段时间一直有人问如何在Redis中缓存Java中的List 集合数据,其实很简单,常用的方式有两种: 1. 利用序列化,把对象序列化成二进制格式,Redis 提供了 相关API方法存储二进制,取数据 ...

  6. java生成pdf方法_详解Java生成PDF文档方法|chu

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持iText,生成PDF文档,还支持将XML ...

  7. python random库生成伯努利随机数的方法_详解Python基础random模块随机数的生成

    随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等.Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入ran ...

  8. vue数组刷新_详解VUE 数组更新

    1.数据方法分类: (1)原数组改变 push pop unshift shift reverse sort splice (2)原数组未变,生成新数组 slice concat filter 对于使 ...

  9. java 初始化块_详解Java中的实例初始化块(IIB)

    在 Java 语言中的类初始化块 文章中我们简单的介绍了下 Java 中的实例初始化块 ( IIB ).不过我觉得介绍的有点简单了,于是,再写一篇文章详细介绍下吧. Java 语言中,存在三种操作:方 ...

  10. java中的invoke方法_详解Java中Method的Invoke方法

    在写代码的时候,发现从父类class通过getDeclaredMethod获取的Method可以调用子类的对象,而子类改写了这个方法,从子类class通过getDeclaredMethod也能获取到M ...

最新文章

  1. Python 1 数据类型的操作
  2. 白话Elasticsearch04- 结构化搜索之使用terms query搜索多个值以及多值搜索结果优化
  3. 哈佛NLP组论文解读:基于隐变量的注意力模型 | 附开源代码
  4. 干货!286页李宏毅《深度学习讲义》
  5. 计算机考题中有关反码的考题,2019陕西信合招聘笔试模拟试题-计算机知识8
  6. Java基础学习总结(93)——Java编码规范之代码性能及惯例
  7. iOS:关于UIView切角的两种实现方式
  8. 项目进度相关计算总结
  9. Team Leader 究竟要不要写代码?
  10. 博客优化--ping让博客文章发表就有可能被收录
  11. pythonfor循环100次_Python之for循环
  12. gee学习2数据获取、数据筛选、创建地理要素
  13. HTMLCSS 笔记(三)
  14. matlab的shading,matlab colormap,caxis,shading,hsv,pcolor, alpha
  15. Android数据库备份和恢复
  16. layUI基本使用2(js)
  17. 什么是字节码?采用字节码的好处是什么?
  18. 安装centos7遇到问题记录:nouveau xxx unknown chipset
  19. 日企面试官谈赴日开发工作
  20. 关于文件格式识别转换

热门文章

  1. python学习笔记16--javascript总结
  2. Silverlight实用窍门系列:20.后台CS代码中创建四种常用的动画效果【附带源码实例】...
  3. c++学习书籍推荐及理由
  4. 拓端tecdat|matlab使用Copula仿真优化市场风险
  5. c++_String一些使用记录
  6. 杭电1091题c语言答案,杭电题目acm部分答案.doc
  7. ubuntua安装chrome_Ubuntu 16.04下安装64位谷歌Chrome浏览器
  8. python中的__all__
  9. Jupyter Notebook Config
  10. 基于TortoiseGit完成本地代码上传Git远程仓库中