Lebenszyklus und Hook-Funktionen in Vue

Lebenszyklus und Hook-Funktionen in Vue

1. Was ist der Lebenszyklus

Eine Vue-Instanz hat einen vollständigen Lebenszyklus, der eine Reihe von Prozessen umfasst, wie z. B. Erstellung, Dateninitialisierung, Vorlagenkompilierung, Dom -Mounting, Rendering → Aktualisierung → Rendering und Deinstallation. Wir nennen dies den Lebenszyklus von Vue. Einfach ausgedrückt ist der Prozess von der Erstellung bis zur Zerstörung einer Vue-Instanz der Lebenszyklus.

Während des gesamten Lebenszyklus von Vue bietet es eine Reihe von Ereignissen, mit denen wir js Methoden registrieren können, wenn Ereignisse ausgelöst werden, sodass wir die Gesamtsituation mit unseren eigenen registrierten JS-Methoden steuern können. In diesen Ereignisantwortmethoden verweist this direkt auf die vue Instanz.

2. Der Lebenszyklus von Vue

Lebenszyklusfunktion, auch Hook-Funktion genannt (Lebenszyklus-Hook === Lebenszyklusfunktion === Lebenszyklusereignis)

Die Lebenszyklusfunktionen treten in Vue normalerweise paarweise auf. Also vergleichen wir sie paarweise und sehen den Unterschied zwischen ihnen.

10 Lebenszyklusfunktionen, die Sie sich merken sollten! Bestimmungsgemäße Verwendung!

3. Lebenszyklus-Hook-Funktion

Funktionen: Automatisch aufgerufen, aber ihre Aufrufzeitknoten sind unterschiedlich.

Ich habe ein Bild von der offiziellen Website genommen:

beforeCreate --- „vor der Erstellung“ der Vue-Instanz. Hinweis: In dieser Funktion können die Daten im Rechenzentrum von Vue nicht gelesen werden.

  <script src="./js/vue.js"></script>
    <Skript>
        lass vm = neues Vue({
            el:'#app',
            Daten:{
                Name:"Hahaha",
                Zahl:1111
            },
            Methoden: {
                
            },
 
            // Bevor die Vue-Instanz erstellt wird beforeCreate(){
                console.log('vorErstellen');
                konsole.log(dieser.name);
            }
    </Skript>


Der Name des Ausgabe-Rechenzentrums kann nicht gelesen werden:

erstellt --- Nachdem die Vue-Instanz erstellt wurde, beachten Sie: In dieser Funktion können die Daten im Rechenzentrum von Vue identifiziert werden <script src="./js/vue.js"></script>
    <Skript>
        lass vm = neues Vue({
            el:'#app',
            Daten:{
                Name:"Hahaha",
                Zahl:1111
            },
            // Nachdem die Vue-Instanz erstellt wurde created(){
                console.log("erstellt");
                konsole.log(dieser.name);
            }
        })
    </Skript>


Sehen Sie sich die Ergebnisse an:

beforeMount --- DOM gemountet wird, ist this.$el---$el zu diesem Zeitpunkt ein "virtueller" DOM-Knoten

Rendern Sie das Etikett auf Ansichtsebene:

  <div id="app">
        <p>{{name}}</p>
        <p>{{Anzahl}}</p>
    </div>
<script src="./js/vue.js"></script>
    <Skript>
        lass vm = neues Vue({
            el:'#app',
            Daten:{
                Name:"Hahaha",
                Zahl:1111
            },
            //Bevor DOM gemountet wird beforeMount(){
                console.log("vorMount");
                   //DOM-Elemente anzeigen console.log(document.body.querySelector("#app").innerHTML);
            }
        })
    </Skript>


Ausgabeergebnisse vor der DOM-Montage:

 gemountet --- nachdem DOM gemountet wurde, this.$el --- zu diesem Zeitpunkt ist $el der „echte“ DOM-Knoten <script src="./js/vue.js"></script>
    <Skript>
        lass vm = neues Vue({
            el:'#app',
            Daten:{
                Name:"Hahaha",
                Zahl:1111
            },
            // Nachdem DOM gemountet wurde mounted(){
                console.log("gemountet");
                Konsole.log(Dokument.Body.QuerySelector("#app").innerHTML);
            }
        })
    </Skript>


Sehen Sie sich die Ausgabe an:

  • beforeUpdate --- Vor der Aktualisierung der Daten (---- vor und nach Änderungen der Daten in der Ansichtsebene)
  • updated --- Nachdem die Daten aktualisiert wurden (----die Änderungen vor und nach den Daten in der Ansichtsebene)

Klicken Sie in der Ansichtsebene, um den Wert von num zu ändern, um eine Datenaktualisierung zu simulieren und das Ergebnis anzuzeigen:

  
    <div id="app">
        <p id="Anzahl">{{Anzahl}}</p>
        <button @click="num++">Klickdatenaktualisierung (num+1)</button>
    </div>
  //Vor der Datenaktualisierung beforeUpdate(){
                console.log("beforeUpdate – vor der Datenaktualisierung");
                // DOM-Elemente anzeigen console.log(document.body.querySelector("#num").innerHTML);
            },
            //Nachdem die Daten aktualisiert wurden updated(){
                console.log("aktualisiert – Nachdem Daten aktualisiert wurden");
                // DOM-Elemente anzeigen console.log(document.body.querySelector("#num").innerHTML);
            }


Zu diesem Zeitpunkt, wenn sich die Daten nicht ändern, ist der Effekt in der Konsole nicht sichtbar. Wenn wir auf die Schaltfläche klicken:

Dies ist das Ende dieses Artikels über den Lebenszyklus und die Hook-Funktionen in Vue. Weitere Informationen zu den Lebenszyklus-Hook-Funktionen 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:
  • Einführung in den Vue-Lebenszyklus und detaillierte Erklärung der Hook-Funktionen
  • Detaillierte Erläuterung der Vue3-Lebenszyklus-Hook-Funktion
  • Wie viele Phasen umfasst der Vue-Lebenszyklus? Was sind die Unterschiede?
  • Lassen Sie uns über die Vue-Lebenszyklus-Hook-Funktionen sprechen und wann sie ausgelöst werden

<<:  Zusammenfassung der grundlegenden allgemeinen MySQL-Befehle

>>:  Eine kurze Analyse der Beziehung zwischen verschiedenen Tomcat-Protokollen und der Segmentierung von catalina.out-Dateien

Artikel empfehlen

Zwei Methoden zur Implementierung der Mysql-Remoteverbindungskonfiguration

Zwei Methoden zur Implementierung der Mysql-Remot...

Ubuntu installiert mehrere Versionen von CUDA und wechselt jederzeit

Ich werde nicht erklären, was CUDA ist, sondern d...

Wie viele gängige Schleifen zur Array-Traversierung in JS kennen Sie?

Vorwort Als grundlegende Datenstruktur spielen Ar...

Detaillierte Erklärung zur Verwendung von Vue-Mixin

Inhaltsverzeichnis Verwendung von Vue-Mixin Daten...

Beispiel für eine MySQL-Datenbank-übergreifende Transaktions-XA-Operation

In diesem Artikel wird die MySQL-Datenbank-übergr...

Beispiele für JavaScript-Operationselemente

Weitere Informationen zu Bedienelementen finden S...

React implementiert Import und Export von Excel-Dateien

Inhaltsverzeichnis Präsentationsschicht Geschäfts...

Die 9 besten ausländischen Websites mit kostenlosem Bildmaterial

Es ist schwierig, Websites mit gutem Bildmaterial...

So lösen Sie das Problem der automatischen Paketaktualisierung im Debian-System

Ich weiß nicht, wann es angefangen hat, aber jede...

Detaillierte Erklärung der Vuex-Umgebung

Inhaltsverzeichnis Erstellen Sie eine Vuex-Umgebu...

Lösungen für Websites mit hohem Datenverkehr

Erstens: Stellen Sie zunächst sicher, dass die Ser...