vue添加手勢操作


在開發手機web頁面時希望我的網頁也可以像App一樣可以左右滑動進行操作。如果你也和我的想法一樣,你就可以復制我的代碼了,一天的工作量又可以划水7小時。


方案一(不推薦了,有坑,表現為:如果頁面有滾動條,並且添加了v-hammer:swipe.right,頁面無法滾動)

使用基於vue封裝的vue2-hammer

  1. 安裝包
npm install vue2-hammer
  1. 引用包
import { VueHammer } from 'vue2-hammer'
Vue.use(VueHammer)
  1. 使用
<a v-hammer:tap="onTap">Tap me!</a>

<div v-hammer:swipe.left="onSwipeLeft">Swipe me!</div>

<div v-hammer:swipe.left="(event)=> onSwipeLeft(event, item, i)">Swipe me!</div>
<script>
  onSwipeLeft() {
      //這里寫上你想干的事情。。。
      console.log("huahuahua!");
  }
</script>

方案二

使用原生的hammer

  1. 安裝包
npm install --save hammerjs
  1. 引用包
import Hammer from "hammerjs";
  1. 使用
<div class="square"></div>
<script>
  hammer = null;
  //vue的updated鈎子函數
  updated() {
    /*要把document.querySelector放到updated中,否則可能dom還沒渲染,就獲取不到,你也可放在monted中使用定時器循環獲取*/
    let square = document.querySelector(".square");
    if (!square || !!this.hammer) {
      return;
    }
    // Create an instance of Hammer with the reference.
    this.hammer = new Hammer(square);
    this.hammer.on("swiperight", function(e) {
      //這里寫上你想干的事情。。。
      console.log("huahuahua!");
    });
  }
</script>

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM