Detaillierte Erklärung der grundlegenden Verwendung des VUE Watch Listener

Detaillierte Erklärung der grundlegenden Verwendung des VUE Watch Listener

Listener werden im Allgemeinen verwendet, um Datenänderungen zu überwachen, und werden standardmäßig ausgeführt, wenn sich die Daten ändern.

Der Name der überwachten Daten wird hier als Funktionsname eingetragen. Diese Funktion hat zwei Parameter, einer ist der neue Wert und der andere der alte Wert.

In Vue wird watch verwendet, um auf Datenänderungen zu reagieren. Es gibt ungefähr drei Möglichkeiten, watch zu verwenden.

1. Der folgende Code ist eine einfache Verwendung von watch

<div id="app">
    <input type="text" v-model="Vorname" />
</div>
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 <Skript>
var vm = neuer Vue({
    el:"#app",
    Daten:{
        Vorname:"张"
    },
    betrachten:{         
        Vorname: (neuerWert, alterWert) {
//Vorname ist der Name der Daten, die Sie überwachen möchten. Verwenden Sie den Funktionsnamen, den Sie überwachen möchten, z. B. die Überwachung des Vornamens des V-Modells                    
//newVal: gibt den Wert nach der Änderung an, also den ersten Parameter, Positionen nicht vertauschen //oldVal: gibt den Wert vor der Änderung an,
            console.log({newVal,oldVal}); // {newVal: "Nein", oldVal: "Nein"}
        }
        //Schreiben Sie direkt eine Überwachungsfunktion und führen Sie die Funktion jedes Mal aus, wenn sich der Wert „cityName“ ändert.
        //Sie können den Methodennamen auch im String-Format direkt nach den überwachten Daten hinzufügen: firstName: 'nameChange'
    },
    Methoden:{
        Namensänderung(){
         }
    }
})
 vm.firstName = "陈"; //Ändern Sie den überwachten Wert</script>

2. Sofortige Überwachung

Bei der grundlegenden Verwendung von „watch“ gibt es eine Funktion: Wenn der Wert zum ersten Mal gebunden wird, wird die Abhörfunktion nicht ausgeführt, sondern nur, wenn sich der Wert ändert. Wenn wir die Funktion ausführen müssen, wenn der Wert anfänglich gebunden ist, müssen wir das unmittelbare Attribut verwenden.

betrachten:
  Vorname: {
    handler(neuerName, alterName) {
      dieser.vollständigerName = neuerName + ' ' + dieser.nachname;
    },
    { sofort: wahr }
  }
}

Die überwachten Daten werden in Objektform geschrieben, einschließlich der Handlermethode und des unmittelbaren Werts. Die Funktion, die wir oben im einfachen Schreiben geschrieben haben, schreibt tatsächlich diese Handlermethode, die standardmäßig weggelassen wird.

3. Handler-Methode

<div id="app">
    <div>
        <p>Nummer: {{ myNumber }}</p>
        <p>Nummer: <input type="text" v-model.number="myNumber"></p>
    </div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<Skript>
neuer Vue({
    el: '#app',
    Daten: {
        meineNummer: 'Dawei'
    },
    betrachten:
        meineNummer: {
            handler(neuerWert, alterWert) {
                console.log('neuerWert', neuerWert);
                console.log('alterWert', alterWert);
            },
            //Wenn „immediate“ wahr ist, wird die Rückruffunktion sofort ausgelöst; wenn es falsch ist, wird der Rückruf nicht sofort ausgeführt, genau wie im obigen Beispiel.
            sofort: wahr
          }
      }
 })
</Skript>
//Die Handler-Methode ist die spezifische Methode, die Sie in Ihrer Uhr ausführen müssen

4. tiefes Attribut

Wie überwachen wir darin Objekte oder Eigenschaften? Dann führen wir das Deep-Attribut ein. Ihre Rolle ist der Schlüssel zur Lösung dieses Problems.

 <div id="Wurzel">
    <p>Objekt: {{Objekt}}</p>
    <p>Objekt.a: <Eingabetyp="text" v-Modell="Objekt.a"></p>
</div> 
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 <Skript>
    neuer Vue({
        el: "#Wurzel",
        Daten: {
            Objekt: {
                 eine: 123
            }
        },
        betrachten:
            Objekt: {
            handler(neuerName, alterName) {
                console.log(neuerName, alterName);
            },
            sofort: wahr,
            tief:wahr
            }
        } 
})
</Skript>

Wenn der obige Code nicht mit deep:true hinzugefügt wird, wird er nicht in der Konsole ausgeführt. Er wird nur beim ersten Mal ausgeführt und das Ausgabeergebnis ist undefiniert.

Standardmäßig überwacht der Handler nur die Referenzänderungen der Eigenschaft obj. Er überwacht nur, wenn wir obj einen Wert zuweisen.

Zu diesem Zeitpunkt können Sie eine gründliche Beobachtung durchführen. Der Listener durchläuft die Ebene für Ebene und fügt diesen Listener allen Eigenschaften des Objekts hinzu. Dies ist jedoch zu zeitaufwändig.

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalten auf 123WORDPRESS.COM mehr Aufmerksamkeit schenken können!

Das könnte Sie auch interessieren:
  • Lösen Sie die Fallstricke beim Aufrufen von Methoden in Vue Watch
  • Zusammenfassung der Vue Watch-Überwachungsmethoden
  • Detaillierte Erläuterung der Änderungen der Überwachungsdaten in Vue und der einzelnen Attribute in der Uhr
  • Auslösen des Timings des Watch-Listeners in Vue (Fallstricke von Watch und Lösungen)

<<:  CSS3 verwendet die Übergangseigenschaft, um Übergangseffekte zu erzielen

>>:  So installieren und speichern Sie die PostgreSQL-Datenbank in Docker

Artikel empfehlen

So entwickeln Sie Java 8 Spring Boot-Anwendungen in Docker

In diesem Artikel zeige ich Ihnen, wie Sie mit Ja...

Drei Prinzipien effizienten Navigationsdesigns, die Webdesigner kennen müssen

Das Entwerfen der Navigation für eine Website ist...

Mysql behält den vorhandenen Inhalt bei und fügt später Inhalte hinzu

Dieser Befehl ändert die Datentabelle ff_vod und ...

Probleme bei der Installation von Python3 und Pip in Ubuntu in Docker

Text 1) Laden Sie das Ubuntu-Image herunter Docke...

Vue implementiert den Anwesenheitskalender von DingTalk

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

Detaillierte Erklärung der JSONObject-Verwendung

JSONObject ist lediglich eine Datenstruktur, die ...

Was ist Nginx-Lastausgleich und wie wird er konfiguriert?

Was ist Lastenausgleich? Der Lastausgleich wird h...

Implementierung der privaten Docker-Bibliothek

Die Installation und Bereitstellung eines private...

Beispiel für reines CSS zum Ändern des Bildlaufleistenstils des Browsers

Verwenden Sie CSS, um den Stil der Bildlaufleiste...