vue vue-touch移动端手势详解

 更新时间:2022年03月28日 10:32:32   作者:神奇大叔  
这篇文章主要介绍了vue vue-touch移动端手势详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

1、安装

cnpm install vue-touch@next --save

2、引入

在main.js中

import VueTouch from 'vue-touch'
Vue.use(VueTouch, {name: 'v-touch'})  v-touch可以是自定义名称

3、使用

Vue.use注册的name名称,默认该标签为div

  • v-touch 

(1)替换标签

tag="要变成的标签名称,默认为div"

(2)定义手势

@事件类型='回调' 

(3)配置手势事件选项

:小写事件类型名称-options="{ direction: 'horizontal', threshold: 100 }

  • threshold临界值
  • directions方向: 'up', 'down', 'left', 'right', 'horizontal', 'vertical', 'all'
  • 具体配置查看hammerjs

(4)阻止/触发手势

:enabled="true/false"   

允许/禁止所有的手势

:enabled="{ pinch: true, rotate: false }"  

允许和禁止指定手势

(5)公共组件方法

1、通过ref获取到该标签

2、在方法中

this.$refs.tapper.disable('tap')

公共方法

  • disable('手势名称') 
  • enable('手势名称') 
  • toggle('手势名称') 
  • disableAll() disable all Recognizers
  • enableAll() enable all Recognizers
  • isEnabled('手势名称') 

(6)自定义手势

在main.js中,在Vue.use之前使用

VueTouchVueTouch.registerCustomEvent('doubletap', {
  type: '手势名称',
  ...手势事件的配置选项,见(3)
  taps: 2  对应tap手势的触发点击次数配置
})
> ...</v-touch>

4、事件类型

Pan平移 

  • pan
  • panstart
  • panmove
  • panend
  • pancancel
  • panleft
  • panright
  • panup
  • pandown

Pinch缩放 

  • pinch
  • pinchstart
  • pinchmove
  • pinchend
  • pinchcancel
  • pinchin
  • pinchout 

Press按压 

  • press
  • pressup 

Rotate旋转 

  • rotate
  • rotatestart
  • rotatemove
  • rotateend
  • rotatecancel

Swipe滑动 

  • swipe
  • swipeleft
  • swiperight
  • swipeup
  • swipedown

Tap点击 

  • tap

代码示例

<template>
   <div>
     category
     <!-- <div  :class='{swipe:move}'>
       <v-touch @swipeleft="swipeleft" style='width:200px;height:200px;backgroundColor:red;'>Swipe me!</v-touch>
       左滑
     </div> -->
      <div >
       <v-touch
        v-on:panstart="swipeleft"
        style='width:200px;height:200px;backgroundColor:red;'
        :pan-options="{ direction: 'horizontal', threshold: 100 }"
        v-bind:enabled="false"
        >Swipe me!</v-touch>
       左滑2
     </div>
     <Tabbar/>
   </div>
</template>
<script>
import Tabbar from '@/components/common/tabbar/tabbar.vue'
export default {
  name:'category',
  data(){
    return{
      move:false
    }
  },
  components:{
    Tabbar
  },
  methods:{
    swipeleft()
    {
      // setTimeout(()=>{
      //   this.$router.push('/shopcar')
      // },2000)
      
      this.move=true;
      console.log('左滑');
    }
  }
}
</script>
<style scoped>
.swipe{
  transform: translateX(-100%);
  transition: 2s;
}
</style>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在vue中created、mounted等方法使用小结

    在vue中created、mounted等方法使用小结

    这篇文章主要介绍了在vue中created、mounted等方法使用小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • 关于element中对el-input 自定义验证规则

    关于element中对el-input 自定义验证规则

    这篇文章主要介绍了关于element中对el-input 自定义验证规则,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue-cli脚手架-bulid下的配置文件

    vue-cli脚手架-bulid下的配置文件

    这篇文章主要介绍了vue-cli脚手架-bulid下的配置文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 最新Vue过滤器介绍及使用方法

    最新Vue过滤器介绍及使用方法

    过滤器是vue为开发者提供的功能,常用于文本的格式化,过滤器应该被添加在JavaScrip表达式的尾部,由“管道符”进行调用,这篇文章通过案例给大家讲解Vue过滤器介绍及使用方法,需要的朋友参考下吧
    2022-11-11
  • 通过vue刷新左侧菜单栏操作

    通过vue刷新左侧菜单栏操作

    这篇文章主要介绍了通过vue刷新左侧菜单栏操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue中的主动触发点击事件

    vue中的主动触发点击事件

    这篇文章主要介绍了vue中的主动触发点击事件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue3 diff 算法示例

    vue3 diff 算法示例

    这篇文章主要为大家介绍了vue3 diff 的算法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Vue之组件的自定义事件详解

    Vue之组件的自定义事件详解

    这篇文章主要为大家介绍了Vue之组件的自定义事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11
  • vue鼠标悬停事件实例详解

    vue鼠标悬停事件实例详解

    这篇文章主要介绍了vue鼠标悬停事件,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-04-04
  • 浅谈一下Vue生命周期中mounted和created的区别

    浅谈一下Vue生命周期中mounted和created的区别

    每一个vue实例从创建到销毁的过程,就是这个vue实例的生命周期,在这个过程中,他经历了从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程,那么这些过程中,具体vue做了些啥,我们今天来了解一下
    2023-05-05

最新评论