1. Berechnete EigenschaftenDefinition
Prinzip
Wann wird die Get-Funktion ausgeführt?
Vorteile
Bemerkung
Syntax: 1. Kurzform:berechnet: { "Berechneter Eigenschaftsname" () { "Wert" zurückgeben } } Anforderung: Finden Sie die Summe von 2 Zahlen und zeigen Sie sie auf der Seite an <Vorlage> <div> <p>{{ Zahl }}</p> </div> </Vorlage> <Skript> Standard exportieren { Daten(){ zurückkehren { eine: 10, b: 20 } }, // Berechnete Eigenschaften: // Szenario: Der Wert einer Variablen muss mithilfe einer anderen Variablen berechnet werden/* Grammatik: berechnet: { BerechneterEigenschaftsname() { Rückgabewert} } */ // Hinweis: Sowohl berechnete als auch Datenattribute sind Variablen – sie können nicht denselben Namen haben // Hinweis 2: Wenn sich eine Variable innerhalb einer Funktion ändert, wird das Ergebnis automatisch neu berechnet und berechnet zurückgegeben: { Zahl(){ gib dies.a + dies.b zurück } } } </Skript> <Stil> </Stil> Grammatik: 2. Vollständiges Schreiben:Berechnete Eigenschaften werden im Format von Konfigurationsobjekten geschrieben: Get- und Set-Funktionen werden in Objekten verwendet Die Rolle von get: Wenn jemand fullName liest, wird get aufgerufen und der Rückgabewert wird als Wert der berechneten Eigenschaft verwendet (get muss return schreiben) Wann wird angerufen? 1. Wenn fullName zum ersten Mal gelesen wird. 2. Wenn sich die Daten ändern, von denen sie abhängen. erhalten(){ console.log('get wurde aufgerufen') // console.log(dies) // das hier ist vm (Vue-Instanz) returniere diesen.Vorname + '-' + diesen.Nachname }, set: Wenn der Wert einer berechneten Eigenschaft geändert wird, erhält der aufgerufene Parameter den neuen übergebenen Wert. ... berechnet:{ vollständiger Name: //Was ist die Funktion von get? Wenn jemand fullName liest, wird get aufgerufen und der Rückgabewert als Wert von fullName verwendet. //Wann wird get aufgerufen? 1. Wenn fullName zum ersten Mal gelesen wird. 2. Wenn sich die Daten ändern, von denen sie abhängen. erhalten(){ console.log('get wurde aufgerufen') // console.log(dies) //Dies ist vm returniere diesen.Vorname + '-' + diesen.Nachname }, //Wann wird set aufgerufen? Wenn fullName geändert wird. setze(Wert){ console.log('festlegen',Wert) const arr = Wert.split('-') dieser.Vorname = arr[0] dieser.Nachname = arr[1] } } } }) 2. Überwachungs- (Abhör-) Eigenschaften<!-- Beim Binden eines Ereignisses: @xxx="yyy" yyy kann einige einfache Anweisungen schreiben --> <button @click="isHot = !isHot">Wetter wechseln</button> 1. Überwachungsattributüberwachung:Wenn sich das überwachte Attribut ändert, wird die Handler-Rückruffunktion automatisch aufgerufen, um zugehörige Vorgänge auszuführen Das überwachte Attribut muss vorhanden sein, bevor es überwacht werden kann! ! ... //Methode 1 schreiben. Übergeben Sie die Watch-Konfiguration, um auf das iHot-Attribut watch:{ zu hören. istHeiß:{ immediate:true, //Lassen Sie den Handler während der Initialisierung aufrufen. //Wann wird der Handler aufgerufen? Wenn sich isHot ändert. handler(neuerWert,alterWert){ console.log('isHot wurde geändert', neuerWert, alterWert) } } } }) // Methode 2. Überwachung über vm.$watch('isHot',{ immediate:true, //Lassen Sie den Handler während der Initialisierung aufrufen, der Standardwert ist false //Wann wird der Handler aufgerufen? Wenn sich isHot ändert. handler(newValue,oldValue){ // Es gibt zwei Parameter, einer ist der neue Wert und der andere ist der alte Wert console.log('isHot wurde geändert',newValue,oldValue) } }) 2. Umfassende ÜberwachungUmfassende Überwachung:
Bemerkung:
Daten:{ istHeiß:wahr, Zahlen: eine:1, b:1 } }, betrachten:{ // Überwachen Sie die Änderung eines bestimmten Attributs in einer mehrstufigen Struktur (beim ursprünglichen Schreibvorgang müssen Anführungszeichen hinzugefügt werden, und die Abkürzung kann weggelassen werden, in diesem Fall muss sie jedoch hinzugefügt werden, da sonst ein Fehler gemeldet wird). /* 'zahlen.a': { handler(){ console.log('a wurde geändert') } } */ //Überwachen Sie die Änderungen aller Attribute in der mehrstufigen Strukturnummern:{ deep:true, // Wenn dies nicht aktiviert ist, dann wird überwacht, ob sich die Adresse der Nummer geändert hat handler(){ console.log('Zahlen geändert') } } } Überwachungseigenschaften - Kurzform Dies kann abgekürzt werden, wenn in den Überwachungseigenschaften nur handler() vorhanden ist und keine anderen Konfigurationselemente aktiviert werden müssen. betrachten:{ istHeiß(neuerWert,alterWert){ console.log('isHot wurde geändert',neuerWert,alterWert,dieser) } } /* vm.$watch('isHot',function (neuerWert,alterWert) { console.log('isHot wurde geändert',neuerWert,alterWert,dieser) }) */ 3. Unterschiede und GrundsätzeUnterschied zwischen berechneter und beobachteter
Zwei wichtige Prinzipien
betrachten:{ Vorname(Wert){ setzeTimeout(()=>{ console.log(this) //vue-Instanzobjekt, wenn eine normale Funktion verwendet wird, gibt es Window zurück dieser.vollständigerName = Wert + '-' + dieser.nachsterName },1000); }, Nachname(Wert){ dieser.vollständigerName = dieser.vorname + '-' + val } } ZusammenfassenDies ist das Ende dieses Artikels über berechnete Eigenschaften und Eigenschaftsabhören in Vue. Weitere relevante Inhalte zu berechneten Eigenschaften und Eigenschaftsabhören in Vue finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So implementieren Sie eine Maskenebene in HTML So verwenden Sie eine Maskenebene in HTML
>>: So implementieren Sie Docker, um Parameter dynamisch an Springboot-Projekte zu übergeben
Inhaltsverzeichnis 1. Konzept der Array-Abflachun...
Vorwort Die Schlafsystemfunktion in MySQL hat nur...
Inhaltsverzeichnis Verzeichnisstruktur bin-Verzei...
SQL-Paging-Abfrage:Hintergrund Im System des Unte...
Die Riddle-Sicherheitslücke, die auf die MySQL-Ve...
Um einen Flex-Container zu erstellen, fügen Sie e...
*Seite erstellen: zwei Eingabefelder und ein Butt...
So setzen Sie den Anfangswert der Auto-Increment-...
Vorwort Bei der Verwendung einer MySQL-Datenbank ...
1. Komplexe SQL-Abfragen 1.1. Einzeltabellenabfra...
10.4.1 Der Unterschied zwischen Frameset und Fram...
Das Standardspeicherverzeichnis von MySQL ist /va...
Vorwort Dieser Artikel stellt die fünfte Frage vo...
Wie unten dargestellt: CSS- CodeInhalt in die Zwi...
Sicht: Ansichten in MySQL haben viele Ähnlichkeit...