vue移动端轻量级的轮播组件实现代码


Posted in Javascript onJuly 12, 2018

一个简单的移动端卡片滑动轮播组件,适用于Vue2.x

c-swipe 2.0 全新归来。重写了全部的代码,更靠谱的质量,更优秀的性能

vue移动端轻量级的轮播组件实现代码

English Document

安装

npm install c-swipe --save

使用

注册组件

// main.js
// 引入 c-swipe 主文件
import 'c-swipe/dist/swipe.css';
import { Swipe, SwipeItem } from 'c-swipe';
// 全局注册组件
Vue.component('swipe', Swipe);
Vue.component('swipe-item', SwipeItem);

在 .vue 单文件组件中使用:

<swipe
 v-model="index"
 style="text-align: center; line-height: 80px; height: 100px; background: #42b983;"
>
 <swipe-item style="height: 100px; line-height: 100px">item1</swipe-item>
 <swipe-item style="height: 100px; line-height: 100px">item2</swipe-item>
 <swipe-item style="height: 100px; line-height: 100px">item3</swipe-item>
</swipe>
new Vue({
 data: function () {
  return {
   index: 0, // two way
  };
 },
});

或者,你想在 html 标签中直接引用

<link href="../node-modules/c-swipe/dist/swipe.css" rel="external nofollow" rel="stylesheet"></head>
<script type="text/javascript" src="../node-modules/c-swipe/dist/swipe.js"></script>
var vueSwipe = swipe.Swipe;
var vueSwipeItem = swipe.SwipeItem;
new Vue({
 el: 'body',
 // 注册组件
 components: {
  'swipe': vueSwipe,
  'swipe-item': vueSwipeItem
 },
 // ...
 // ...
});

配置

选项 类型 默认 描述
v-model Number 0 绑定了当前显示卡片的索引,该数据为双向绑定,可通过更改 v-model 的值直接更改当前显示卡片
pagination Boolean true 是否需要默认样式的导航器
loop Boolean true 循环切换
autoplayTime Number 0 单位 ms,自动切换卡片的时间间隔,值为 0 时不自动切换
speed Number 300 单位 ms, 切换卡片时的过渡效果的播放时长
minMoveDistance String '20%' 成功触发切换卡片事件的最小滑动距离,可以传入百分比,如 '20%',或者传入具体像素距离,如 '80px'。

方法

swipe.reset()

c-swipe 内部将重新计算 Swipe 的宽度,并根据新的宽度来计算滚屏的距离。这个可以解决容器重置大小后 c-swipe 滚屏距离不正确的问题。

例:

<swipe ref="swipe">
 <swipe-item>item1</swipe-item>
 <swipe-item>item2</swipe-item>
 <swipe-item>item3</swipe-item>
</swipe>
<script>
 export default {
  // ...
  // ...
  handleResize() {
   this.$refs.swipe.reset();
  }
  mounted() {
   // 避免上下文丢失
   this.handleResize = this.handleResize.bind(this);
   window.addEventListener('resize', this.handleResize);
  },
  destroyed() {
   window.removeEventListener('resize', this.handleResize);
  }
  // ...
  // ...
 }
</script>

总结

以上所述是小编给大家介绍的vue移动端轻量级的轮播组件实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
半角全角相互转换的js函数
Oct 16 Javascript
JS写的贪吃蛇游戏(个人练习)
Jul 08 Javascript
JQuery中serialize() 序列化
Mar 13 Javascript
ExtJs动态生成treepanel的Json格式
Jul 19 Javascript
详解javascript高级定时器
Dec 31 Javascript
jQuery删除当前节点元素
Dec 07 Javascript
简单实现js上传文件功能
Aug 21 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
Nov 19 Javascript
使用Angular CLI进行Build(构建)和Serve详解
Mar 24 Javascript
使用 vue-i18n 切换中英文效果
May 23 Javascript
vue实现压缩图片预览并上传功能(promise封装)
Jan 10 Javascript
js实现批量删除功能
Aug 27 Javascript
详解node.js的http模块实例演示
Jul 12 #Javascript
Vue中使用的EventBus有生命周期
Jul 12 #Javascript
JavaScript中发出HTTP请求最常用的方法
Jul 12 #Javascript
vue实现引入本地json的方法分析
Jul 12 #Javascript
jQuery实现checkbox全选功能完整实例
Jul 12 #jQuery
JS实现将二维数组转为json格式字符串操作示例
Jul 12 #Javascript
vue路由组件按需加载的几种方法小结
Jul 12 #Javascript
You might like
社区(php&amp;&amp;mysql)二
2006/10/09 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
twig里使用js变量的方法
2016/02/05 PHP
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
2016/08/04 Javascript
AngularJs  E2E Testing 详解
2016/09/02 Javascript
基于jquery实现二级联动效果
2017/03/30 jQuery
vue构建单页面应用实战
2017/04/10 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
深入理解JavaScript 箭头函数
2019/05/30 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
Python中enumerate函数代码解析
2017/10/31 Python
PyCharm代码格式调整方法
2018/05/23 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
Python学习笔记之Break和Continue用法分析
2019/08/14 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
使用TensorFlow-Slim进行图像分类的实现
2019/12/31 Python
python实现简单井字棋小游戏
2020/03/05 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
某公司Java工程师面试题笔试题
2016/03/27 面试题
项目合作计划书
2014/01/09 职场文书
初婚未育证明
2014/01/15 职场文书
《将心比心》教学反思
2014/04/08 职场文书
交通工程专业推荐信
2014/09/06 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
2015年护士节慰问信
2015/03/23 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
在职证明书模板
2015/06/15 职场文书
Win11软件图标固定到任务栏
2022/04/19 数码科技