在vue中使用alloyfinger,实现元素的拖拽,缩放,双击,长按等功能

在vue项目中实现拖拽,缩放,双击,长按等功能
使用的是腾讯开发的AlloyFinger插件

  • 1.下载
npm install alloyfinger
// or
yarn add alloyfinger
  • 2.组件中使用
<template>
  <div class="box">
    <img
      src="https://ns-strategy.cdn.bcebos.com/ns-strategy/upload/fc_big_pic/part-00011-2072.jpg"
      ref="pic"
      :style="{'transform': 'translate('+ posX + 'px,' + posY + 'px) translateZ(0px) scale(' + dis + ')  rotate(' + angle + 'deg)'}"
    />
  </div>
</template>

<script>
import AlloyFinger from 'alloyfinger';
export default {
  data() {
    return {
      posX: 0,
      posY: 0,
      dis: 1,
      angle: 0,}  
  },
  mounted() {
    this.getData();
  },
  methods: {
    getData() {
      let that = this;
      let pic= this.$refs.pic;
        this.af = new AlloyFinger(pic, {
        rotate: function (evt) {
          console.log("实现旋转");
          that.angle += evt.angle;
        },
        pinch: function (evt) {
          console.log("实现缩放");
          that.dis = evt.zoom;
        },
        pressMove: function (evt) {
          console.log("实现移动");
          that.posX += evt.deltaX;
          that.posY += evt.deltaY;
        },
        tap: function (evt) {
          console.log("单击");
          //点按触发
        },
        doubleTap: function (e) {
          console.log("双击");
          //双击屏幕触发
        },
        longTap: function (e) {
          console.log("长按");
          //长按屏幕750ms触发
        },
        swipe: function (e) {
          //e.direction代表滑动的方向
          console.log("swipe" + e.direction);
        },
      });
    }
  }
}
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,112评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 6,925评论 0 2