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

Ausführliche Erläuterung des MySQL-Gemeinschaftsindex und des eindeutigen Index

Szenario 1. Pflegen Sie ein Bürgersystem mit eine...

Lassen Sie uns im Detail darüber sprechen, wie der NodeJS-Prozess beendet wird

Inhaltsverzeichnis Vorwort Aktiver Rückzug Ausnah...

Erkennung und Lösung von Vue.$set-Fehlerfallen

Ich habe zufällig festgestellt, dass Vue.$set im ...

Umfassende Analyse des MySql-Master-Slave-Replikationsmechanismus

Inhaltsverzeichnis Master-Slave-Replikationsmecha...

Detaillierte Analyse der untergeordneten und übergeordneten Vue-Komponenten

Inhaltsverzeichnis 1. Übergeordnete Komponenten u...

Tutorial zum Upgrade von Centos7 auf Centos8 (mit Bildern und Text)

Wenn Sie ein Upgrade in einer formalen Umgebung d...

Detaillierte Erklärung des Linux Namespace-Benutzers

Der Benutzer-Namespace ist ein neuer Namespace, d...

Vue.js-Textfeld mit Dropdown-Komponente

Ein Textfeld mit Dropdown-Liste ermöglicht es Ben...