Rumah  >  Artikel  >  hujung hadapan web  >  Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus

Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus

王林
王林asal
2023-09-15 08:24:271111semak imbas

. Dalam pembangunan aplikasi Vue, pengendalian peristiwa interaksi pengguna adalah kemahiran penting. Artikel ini akan memperkenalkan cara menggunakan arahan v-on Vue untuk mengendalikan peristiwa seret tetikus dan memberikan contoh kod khusus.

Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus

Buat contoh Vue:

Mula-mula, perkenalkan fail perpustakaan Vue.js dalam fail HTML:

<script src="https://cdn.jsdelivr.net/npm/vue"></script>

Kemudian, buat contoh Vue:

<div id="app">
  ...
</div>

<script>
var app = new Vue({
  el: '#app',
  data: {
 ...
  },
  methods: {
 ...
  }
});
</script>
  1. Tambahkan data asal:
    fungsi seret, Kita perlu menentukan beberapa data yang mengawal kedudukan elemen yang diseret. Tambahkan kod berikut dalam pilihan data contoh Vue:

    data: {
      dragging: false, // 标记是否正在拖拽
      x: 0, // 鼠标在页面上的横坐标
      y: 0, // 鼠标在页面上的纵坐标
      left: 0, // 拖拽元素的左侧偏移量
      top: 0 // 拖拽元素的顶部偏移量
    }

  2. Mengikat peristiwa tetikus:
  3. Dengan arahan v-on, kami boleh mengikat peristiwa tetikus dengan mudah kepada elemen DOM. Tambahkan kod berikut dalam pilihan kaedah bagi contoh Vue:

    methods: {
      handleMouseDown: function(event) {
     this.dragging = true;
     this.x = event.pageX;
     this.y = event.pageY;
      },
      handleMouseMove: function(event) {
     if (this.dragging) {
       var dx = event.pageX - this.x;
       var dy = event.pageY - this.y;
       this.left += dx;
       this.top += dy;
       this.x = event.pageX;
       this.y = event.pageY;
     }
      },
      handleMouseUp: function() {
     this.dragging = false;
      }
    }

    Analisis kod:

  4. handleMouseDown: Apabila tetikus ditekan, tetapkan seret kepada benar dan rekod kedudukan tetikus pada halaman.


    handleMouseMove: Apabila tetikus bergerak, kira offset elemen berdasarkan perubahan dalam kedudukan tetikus dan kemas kini nilai kiri dan atas.

    handleMouseUp: Tetapkan seretan kepada palsu apabila tetikus dilepaskan.

  5. Tambah elemen seret:
  6. Dalam fail HTML, tambahkan elemen seret di lokasi yang sesuai:
  7. <div v-on:mousedown="handleMouseDown"
      v-on:mousemove="handleMouseMove"
      v-on:mouseup="handleMouseUp"
      v-bind:style="{left: left + 'px', top: top + 'px'}"
    ></div>
  8. Analisis kod:
  9. v-on:mousedown: Ikatan acara tetikus ke bawah.


    v-on:mousemove: Mengikat acara pergerakan tetikus.

    v-on:mouseup: Ikat acara pelepasan tetikus.

  10. v-bind:style: Tetapkan kedudukan elemen secara dinamik berdasarkan nilai kiri dan atas.
  11. Contoh kod lengkap adalah seperti berikut:
  12. <div id="app">
      <div v-on:mousedown="handleMouseDown"
           v-on:mousemove="handleMouseMove"
           v-on:mouseup="handleMouseUp"
           v-bind:style="{left: left + 'px', top: top + 'px'}"
      ></div>
    </div>
    
    <script>
    var app = new Vue({
      el: '#app',
      data: {
        dragging: false,
        x: 0,
        y: 0,
        left: 0,
        top: 0
      },
      methods: {
        handleMouseDown: function(event) {
          this.dragging = true;
          this.x = event.pageX;
          this.y = event.pageY;
        },
        handleMouseMove: function(event) {
          if (this.dragging) {
            var dx = event.pageX - this.x;
            var dy = event.pageY - this.y;
            this.left += dx;
            this.top += dy;
            this.x = event.pageX;
            this.y = event.pageY;
          }
        },
        handleMouseUp: function() {
          this.dragging = false;
        }
      }
    });
    </script>
  13. Ringkasan:
  14. Dengan menggunakan arahan v-on Vue, kami boleh mengendalikan acara seret tetikus dengan mudah. Artikel ini memperkenalkan secara terperinci cara melaksanakan fungsi seret dan lepas mudah melalui contoh kod tertentu. Saya harap pembaca dapat menguasai kemahiran praktikal ini dan menggunakannya dalam aplikasi Vue mereka sendiri.

Atas ialah kandungan terperinci Kemahiran praktikal Vue: gunakan arahan v-on untuk mengendalikan acara seret tetikus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn