vue-touch
vue 2017-10-19 14:27:03

github:https://github.com/vuejs/vue-touch 

 

JavaScript Code复制内容到剪贴板
  1. # 安装vue1.x:  
  2. npm intall vue-touch --save-dev    
  3.   
  4. # vue2.0要使用next分支    
  5. $ npm install vue-touch@next --save-dev    
  6.     
  7.     
  8. import VueTouch from 'vue-touch'    
  9. Vue.use(VueTouch)    

 

在main.js 中 引入:

JavaScript Code复制内容到剪贴板
  1. import VueTouch from 'vue-touch'  
  2.   
  3.         Vue.use(VueTouch, {name: 'v-touch'})  
  4.   
  5.         VueTouch.config.swipe = {  
  6.   
  7.              threshold: 100 //手指左右滑动距离  
  8.   
  9.         }  

 

在左右滑动页面的父页面使用,如:

XML/HTML Code复制内容到剪贴板
  1. <v-touch v-on:swipeleft="onSwipeLeft" v-on:swiperight="onSwipeRight"  tag="div">  
  2.   
  3.                 <router-view></router-view>  
  4.   
  5.         </v-touch>  

左滑事件:swipeleft, 右滑事件:swiperight, 更多事件请查阅api

 

注意事项:

使用左右滑动之后,发现不能上下滑动了,这是因为vue-touch 默认禁止了用户的手势操作,注意组件上有个css属性:touch-action: none;

把这个属性覆盖一下就好了,如: touch-action: pan-y!important;

 


 

因为vue-touch其实封装了 hammer.js的方法 其实我们这里介绍的也就是他几个事件;详情可以搜索 hammer.js的文档;

hammer.js主要针对触屏的6大事件进行监听。如下图所示:

1、 Pan事件:在指定的dom区域内,一个手指放下并移动事件,即触屏中的拖动事件。这个事件在屏触开发中比较常用,如:左拖动、右拖动等,如手要上使用QQ时向右滑动出现功能菜单的效果。该事件还可以分别对以下事件进行监听并处理:

Panstart:拖动开始、

Panmove:拖动过程、

Panend:拖动结束、

Pancancel:拖动取消、

Panleft:向左拖动、

Panright:向右拖动、

Panup:向上拖动、

Pandown:向下拖动

 

2、 Pinch事件:在指定的dom区域内,两个手指(默认为两个手指,多指触控需要单独设置)或多个手指相对(越来越近)移动或相向(越来越远)移动时事件。

该事件事以分别对以下事件进行监听并处理:

Pinchstart:多点触控开始、

Pinchmove:多点触控过程、

Pinchend:多点触控结束、

Pinchcancel:多点触控取消、

Pinchin:多点触控时两手指距离越来越近、

Pinchout:多点触控时两手指距离越来越远

 

3、 Press事件:在指定的dom区域内触屏版本的点击事件,这个事件相当于PC端的Click事件,该不能包含任何的移动,最小按压时间为500毫秒,常用于我们在手机上用的“复制、粘贴”等功能。该事件分别对以下事件进行监听并处理:Pressup:点击事件离开时触发


4、 Rotate事件:在指定的dom区域内,当两个手指或更多手指成圆型旋转时触发(就像两个手指拧螺丝一样)。该事件分别对以下事件进行监听并处理:

Rotatestart:旋转开始、

Rotatemove:旋转过程、

Rotateend:旋转结束、

Rotatecancel:旋转取消

 

5、 Swipe事件:在指定的dom区域内,一个手指快速的在触屏上滑动。即我们平时用到最多的滑动事件。

Swipeleft:向左滑动、

Swiperight:向右滑动、

Swipeup:向上滑动、

Swipedown:向下滑动

 

6、Tap事件:在指定的dom区域内,一个手指轻拍或点击时触发该事件(类似PC端的click)。该事件最大点击时间为250毫秒,如果超过250毫秒则按Press事件进行处理。

 

 

 

本文来自于:http://www.yoyo88.cn/study/vue/178.html

上一篇 mint-ui 手册
Powered by yoyo苏ICP备15045725号