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

Fallstudie: Ajax responseText analysiert JSON-Daten

Lösen Sie das Problem, dass der vom Server nach d...

Die Vor- und Nachteile von Nginx und LVS und ihre geeignete Nutzungsumgebung

Lassen Sie uns zu Beginn darüber sprechen, was La...

Erläuterung zum Lastenausgleich und Reverseproxy von Nginx

Inhaltsverzeichnis Lastenausgleich Klassifizierun...

Implementierungsschritte zum Installieren einer Java-Umgebung in Docker

Dieser Artikel basiert auf Linux CentOS8, um Dock...

HTTP-Statuscodes

Dieser Statuscode gibt Auskunft über den Status d...

So erstellen Sie eine Liste in CocosCreator

CocosCreator-Version: 2.3.4 Cocos hat keine Liste...

Webdesign: Implementierungstechniken für Webmusik

<br />Wenn Sie Musik in eine Webseite einfüg...

Spezifische Verwendung des Linux-Befehls „dirname“

01. Befehlsübersicht dirname - entfernt nicht zu ...

Top 10 Js Bildverarbeitungsbibliotheken

Inhaltsverzeichnis einführen 1. Pica 2. Lena.js 3...

Lösen Sie das Problem des Mac Docker x509-Zertifikats

Frage Kürzlich musste ich mich bei einem privaten...

Die Verbindung zwischen JavaScript-Konstruktoren und Prototypen

Inhaltsverzeichnis 1. Konstrukteure und Prototype...

Detaillierte Schritte zur Verwendung von Redis in Docker

1. Einleitung Dieser Artikel zeigt Ihnen, wie Sie...

Installations-Tutorial für die ZIP-Archivversion von MySQL 5.7

In diesem Artikel finden Sie das Installations-Tu...