So verwenden Sie die Debouce-Anti-Shake-Funktion in Vue

So verwenden Sie die Debouce-Anti-Shake-Funktion in Vue

1. Anti-Shake-Funktion

Unter der Annahme, dass das Intervall zwischen zwei Ajax-Kommunikationen nicht weniger als 2500 Millisekunden betragen darf, kann der obige Code wie folgt umgeschrieben werden.

$('textarea').on('keydown', entprellung(ajaxAction, 2500));

Funktion Entprellung(fn, Verzögerung){
  var Timer = null; // Timer deklarieren return function() {
    var Kontext = dies;
    var args = Argumente;
    Zeitüberschreitung löschen(Timer);
    Timer = setzeTimeout(Funktion () {
      fn.apply(Kontext, Argumente);
    }, Verzögerung);
  };
}

Im obigen Code wird der vorherige Timer abgebrochen und ein neuer Timer erstellt, sobald der Benutzer die Taste innerhalb von 2500 Millisekunden erneut drückt. Dadurch wird sichergestellt, dass das Intervall zwischen den Aufrufen der Callback-Funktion mindestens 2500 Millisekunden beträgt.

2. Verwenden Sie die Debouce-Anti-Shake-Funktion in Vue

Erstellt eine debounced Funktion, die func nach einer Verzögerung von wait-Millisekunden seit dem letzten Aufruf aufruft. Die Entprellungsfunktion bietet eine Abbruchmethode zum Abbrechen des verzögerten Funktionsaufrufs und eine flush zum sofortigen Aufrufen. Sie können ein options angeben, um zu bestimmen, wie die Func-Methode aufgerufen wird, options.leading und | oder options.trailing, um zu bestimmen, wie vor und nach der Verzögerung ausgelöst wird

(Hinweis: ob erst anrufen und dann warten oder erst warten und dann anrufen).

Wenn func aufgerufen wird, werden die Argumente übergeben, die zuletzt der debounced Funktion bereitgestellt wurden. Nachfolgende Aufrufe der debounced Funktion geben das Ergebnis des letzten Aufrufs von func zurück.

Lodash-Debouce-Parameter:

  • func (Function) : Die zu entprellende Funktion.
  • [wait=0] (number) : Die Anzahl der Millisekunden, die verzögert werden soll.
  • [options=] (Object) : Optionsobjekt.
  • [options.leading=false] (boolean) : Gibt an, dass vor Beginn der Verzögerung aufgerufen werden soll.
  • [options.maxWait] (number) : Legen Sie den Maximalwert fest, um den die Funktion verzögert werden darf.
  • [options.trailing=true] (boolean) : Gibt an, dass nach Ablauf der Verzögerung aufgerufen werden soll.
<Vorlage>
<el-Eingabe
    v-Modell="Wert"
    Größe="mini"
    Platzhalter="Bitte geben Sie ein.."
    löschbar
    @keydown.enter="Suche handhaben"
  ></el-Eingabe>
</Vorlage>
<Skript>
importiere _ von 'lodash'
Standard exportieren {
Daten() {
    return { Wert: '' }
},
erstellen() {
    dies.handleSearch = _.debounce(() => {
      // Liste abrufen this.getList();
    }, 300);
},
vorZerstören() {
    //Anti-Shake-Aufruf dieser Funktion abbrechen this.handleSearch.cancel();
},
}
</Skript>

Dies ist das Ende dieses Artikels zur Verwendung der Debouce-Anti-Shake-Funktion in Vue. Weitere Informationen zur Verwendung der Debouce-Anti-Shake-Funktion in Vue finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Verwenden der Komponentenoperation der Anti-Shake-Funktion in Vue
  • Vue implementiert Beispielcode zur Überprüfung von Mobiltelefonnummern (Anwendungsszenario der Anti-Shake-Funktion)

<<:  Tutorial zur Installation und Bereitstellung des automatischen Mount-Dienstes Autofs unter Linux

>>:  Lassen Sie uns ausführlich über die gemeinsame MySQL-Abfrage sprechen

Artikel empfehlen

js canvas realisiert Bilder mit abgerundeten Ecken

In diesem Artikel wird der spezifische Code von J...

MySQL-Löschfunktion für Mehrfachtabellenverbindungen

Löschen einer einzelnen Tabelle: LÖSCHEN AUS Tabe...

So beheben Sie Dateisystemfehler in Linux mit „fsck“

Vorwort Das Dateisystem ist für die Organisation ...

Implementierung der ELK-Bereitstellungsmethode mit einem Klick in Docker Compose

Installieren Filebeat hat Logstash-Forwarder voll...

So implementieren Sie die Paging-Funktion des MyBatis-Interceptors

So implementieren Sie die Paging-Funktion des MyB...

Zusammenfassung von über 50 Hilfsfunktionen in JavaScript

JavaScript kann viele tolle Dinge. Dieser Artikel...

So ersetzen Sie alle Tags im HTML-Text

(?i) bedeutet, dass die Groß-/Kleinschreibung nich...

Verwenden Sie das Rem-Layout, um eine adaptive

Ich habe bereits einen Artikel über mobile Anpass...

MySQL-Abfrageanweisung nach Zeit gruppiert

MySQL-Abfrage nach Jahr, Monat, Woche, Tagesgrupp...

Starten Sie die auf Docker basierende nginxssl-Konfiguration

Voraussetzungen Ein Cloud-Server (centOS von Alib...

So legen Sie Hintergrundfarbe und Transparenz in Vue fest

Einstellungen für Hintergrundfarbe und Transparen...