Rumah  >  Artikel  >  hujung hadapan web  >  Penjelasan terperinci tentang cara Vue menghalang pengguna daripada mengklik permintaan beberapa kali

Penjelasan terperinci tentang cara Vue menghalang pengguna daripada mengklik permintaan beberapa kali

PHPz
PHPzasal
2023-04-09 18:30:021874semak imbas

Dalam aplikasi web moden, operasi pengguna selalunya memerlukan interaksi dengan pelayan. Klik pengguna yang kerap pada butang atau penyerahan borang boleh menyebabkan bahagian hadapan menghantar berbilang permintaan kepada pelayan, yang boleh menyebabkan kemerosotan prestasi dan pembaziran sumber. Vue.js ialah rangka kerja JavaScript popular yang menyediakan penyelesaian kepada masalah ini. Dalam artikel ini, kami akan membincangkan cara menghalang pengguna daripada mengklik berbilang permintaan menggunakan Vue.js.

  1. Anti goncang

Anti goncang ialah teknologi yang dilaksanakan selepas pengguna berhenti beroperasi untuk satu tempoh masa. Dalam Vue, anda boleh menggunakan fungsi nyahlantun pustaka Lodash untuk melaksanakan fungsi anti-goncang. Fungsi nyahlantun memerlukan dua parameter: fungsi untuk dipanggil dan masa untuk melengahkan (dalam milisaat). Vue akan memulakan pemasa setiap kali pengguna beroperasi. Jika pengguna bertindak semula sebelum pemasa tamat tempoh, pemasa akan ditetapkan semula, dengan itu mengelakkan berbilang permintaan.

Pelaksanaan adalah seperti berikut:

import _ from 'lodash'

export default {
  methods: {
    sendData: _.debounce(function () {
      // 发送数据
    }, 500)
  }
}

Dalam contoh ini, fungsi hantar data dibalut dalam fungsi anti goncang dengan kelewatan 500 milisaat.

  1. Pendikit

Pendikit ialah teknik yang melaksanakan fungsi secara berkala semasa tindakan pengguna. Dalam Vue, anda boleh menggunakan fungsi pendikit pustaka Lodash untuk melaksanakan fungsi pendikit. Fungsi pendikit mengambil dua parameter: fungsi untuk dipanggil dan selang masa (dalam milisaat) di mana anda mahu fungsi dipanggil. Setiap kali pengguna mengambil tindakan, fungsi akan dipanggil selepas selang waktu.

Pelaksanaan adalah seperti berikut:

import _ from 'lodash'

export default {
  methods: {
    sendData: _.throttle(function () {
      // 发送数据
    }, 500)
  }
}

Dalam contoh ini, fungsi data hantar dibalut dalam fungsi pendikit dengan selang masa 500 milisaat.

  1. Lumpuhkan butang

Lumpuhkan butang ialah cara yang mudah tetapi berkesan untuk menghalang berbilang klik. Dalam Vue, butang boleh dilumpuhkan menggunakan arahan v-bind. Arahan ini memerlukan nilai Boolean sebagai parameter. Jika ia ditetapkan kepada benar, butang akan dilumpuhkan.

Pelaksanaan adalah seperti berikut:

<template>
  <button v-bind:disabled="isProcessing" v-on:click="sendData">发送数据</button>
</template>

<script>
export default {
  data: function () {
    return {
      isProcessing: false
    }
  },
  methods: {
    sendData: function () {
      this.isProcessing = true
      // 发送数据
    }
  }
}
</script>

Dalam contoh ini, keadaan dilumpuhkan butang dikawal oleh pembolehubah isProcessing. Apabila pengguna mengklik butang, pembolehubah isProcessing ditetapkan kepada benar dan butang dilumpuhkan. Setelah data berjaya dihantar, tetapkan pembolehubah isProcessing kepada palsu dan pulihkan keadaan butang.

Ringkasnya, dengan menggunakan teknik seperti butang anti goncang, pendikit dan lumpuhkan, Vue.js boleh menghalang permintaan berbilang klik dengan berkesan. Teknologi ini boleh ditala berdasarkan keperluan aplikasi untuk meningkatkan prestasi dan pengalaman pengguna.

Atas ialah kandungan terperinci Penjelasan terperinci tentang cara Vue menghalang pengguna daripada mengklik permintaan beberapa kali. 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