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 ÜberwachungBei 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 AttributWie ü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. ZusammenfassenDieser 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:
|
<<: CSS3 verwendet die Übergangseigenschaft, um Übergangseffekte zu erzielen
>>: So installieren und speichern Sie die PostgreSQL-Datenbank in Docker
Lösen Sie das Problem, dass der vom Server nach d...
Lassen Sie uns zu Beginn darüber sprechen, was La...
Inhaltsverzeichnis Lastenausgleich Klassifizierun...
Dieser Artikel basiert auf Linux CentOS8, um Dock...
Dieser Statuscode gibt Auskunft über den Status d...
CocosCreator-Version: 2.3.4 Cocos hat keine Liste...
<br />Wenn Sie Musik in eine Webseite einfüg...
01. Befehlsübersicht dirname - entfernt nicht zu ...
Das Büro benötigt ein Ubuntu-System als Linux-Ent...
Inhaltsverzeichnis einführen 1. Pica 2. Lena.js 3...
Nach der Installation von Jenkins schlägt der ers...
Frage Kürzlich musste ich mich bei einem privaten...
Inhaltsverzeichnis 1. Konstrukteure und Prototype...
1. Einleitung Dieser Artikel zeigt Ihnen, wie Sie...
In diesem Artikel finden Sie das Installations-Tu...