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节点知识
Jan 31 Javascript
在JavaScript中操作数组之map()方法的使用
Jun 09 Javascript
JavaScript ES6的新特性使用新方法定义Class
Jun 28 Javascript
jQuery插件ContextMenu自定义图标
Mar 15 Javascript
通过构造函数实例化对象的方法
Jun 28 Javascript
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
Vue代码分割懒加载的实现方法
Nov 23 Javascript
微信小程序如何获取用户手机号
Jan 26 Javascript
微信小程序中使用ECharts 异步加载数据的方法
Jun 27 Javascript
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
微信小程序 wx:for遍历循环使用实例解析
Sep 09 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
详解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
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
2014/08/08 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
php模拟实现斗地主发牌
2020/04/22 PHP
ExtJs使用总结(非常详细)
2012/03/22 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
js+html5操作sqlite数据库的方法
2016/02/02 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
python中的lambda表达式用法详解
2016/06/22 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
Python数据类型之List列表实例详解
2019/05/08 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
手把手教你pycharm专业版安装破解教程(linux版)
2019/09/26 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
物流经理自我评价
2013/09/23 职场文书
广告学专业推荐信范文
2013/11/23 职场文书
安全生产责任书
2014/03/12 职场文书
个人欠款担保书
2014/05/20 职场文书
个人四风对照检查材料
2014/09/26 职场文书
自主招生专家推荐信
2015/03/26 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android