Detaillierte Erläuterung der benutzerdefinierten Anweisungen für die Vue.js-Direktive

Detaillierte Erläuterung der benutzerdefinierten Anweisungen für die Vue.js-Direktive

Anpassen eines Demo-Befehls

Die Syntax der benutzerdefinierten Vue-Direktiven lautet wie folgt:

Vue.direktive(id, definition)

Die beiden übergebenen Parameter „id“ bezieht sich auf die Anweisungs-ID und „definition“ bezieht sich auf das Definitionsobjekt. Darunter kann das Definitionsobjekt einige Hook-Funktionen bereitstellen.

<div id="app">
	<!-- Eingabefeld erhält Fokus-->
	<Eingabetyp="Text" v-Fokus/>
</div>

<Skript>
	// Registriere eine globale benutzerdefinierte Direktive v-focus
	Vue.direktive("Fokus", {
		// Wenn das gebundene Element in das DOM eingefügt wird.
		eingefügt(el, Bindung) {
			// Fokuselement el.focus();
		}
	})
</Skript>
<div id="app">
    <p v-demo:red="msg">{{msg}}</p>
</div>

<Skript>
	// Globale Direktive Vue.directive('demo', function (el, binding) {
        console.log(el) //p tag console.log(binding) //Die Ausgabe ist ein Objekt obj
        console.log('Befehlsname:'+binding.name) //Befehlsnameconsole.log('Befehlsbindungswert:'+binding.value) //Befehlsbindungswertconsole.log('Zeichenfolgenform des Bindungswerts:'+binding.expression) //Zeichenfolgenform des Bindungswertsconsole.log('An den Befehl übergebener Parameter:'+binding.arg) //An den Befehl übergebener Parameter})
    var vm = neuer Vue({
        el: "#app",
        Daten: {
            Nachricht: 'Hallo!'
        },
        // Lokale Anweisungen:{
			Demo:{
				eingefügt: Funktion (el) {
					console.log(el)
				}      
			}
		}
    })
</Skript>

Geben Sie hier die Bildbeschreibung ein

Objektliterale

<div id="app">
    <p v-demo="Farben">{{Farben.text}}</p>
</div>

<Skript>
    Vue.Direktive('demo', Funktion (el, Bindung) {
        console.log(el) // p-Tag console.log(Bindung) // Die Ausgabe ist ein Objekt obj
        console.log(Bindung.Wert) // {Farbe: 'blau',Text: 'Hallo!'}
        console.log(Bindung.Wert.Farbe) // 'blau'
        console.log(binding.value.text) // 'Hallo!'
        el.style = 'Farbe:' + Bindung.Wert.Farbe  
    })
    var vm = neuer Vue({
        el: "#app",
        Daten: {
            Farben:
                Farbe: 'blau',
                Text: „Hallo!“
            }
        }
    })
</Skript>

Lebenszyklus-Hooks

Die Direktivendefinitionsfunktion bietet mehrere Hook-Funktionen (optional):

  1. bind : Wird nur einmal aufgerufen, wenn die Direktive zum ersten Mal an ein Element gebunden wird. Mit dieser Hook-Funktion kann eine Initialisierungsaktion definiert werden, die einmal während der Bindung ausgeführt wird.
  2. inserted : wird aufgerufen, wenn das gebundene Element in den übergeordneten Knoten ( div#app ) eingefügt wird (kann aufgerufen werden, wenn der übergeordnete Knoten vorhanden ist, muss aber nicht unbedingt im Dokument vorhanden sein).
  3. update : Wird ausgelöst, wenn sich der Status des an die Anweisung gebundenen Elements (VNode-virtueller Knoten) ändert (einschließlich Stil, Inhalt, Vue-Daten usw.)
  4. componentUpdated : Wird aufgerufen, nachdem der VNode der Komponente, in der sich die Anweisung befindet, und alle seine untergeordneten VNodes aktualisiert wurden.
  5. unbind : Wird nur einmal aufgerufen, wenn die Direktive vom Element gelöst wird (das Element wird aus dem DOM entfernt).
<div id="app">
    <p v-demo="Farbe">{{Anzahl}}</p>
    <button @click="add">Hinzufügen</button>
    <button onclick='unbind()'>Bindung aufheben</button>
</div>

<Skript>
    Funktion unbind() {
        vm.$destroy(); //Starte eine andere Methode zum Aufheben der Bindung}
    Vue.directive('demo', { //Fünf Hook-Funktionen zum Registrieren von Direktiven bind: function () { //1. Gebunden werden //Für die Bindung vorbereiten. Zum Beispiel Ereignis-Listener oder andere komplexe Operationen hinzufügen, die nur einmal ausgeführt werden müssen console.log('1 - bind');
        },
        eingefügt: Funktion () { //2. An den Knoten binden console.log('2 - eingefügt');
        },
        update: function () { //3. Komponentenaktualisierung//Führen Sie entsprechende Aktualisierungen basierend auf den neu erhaltenen Werten durch. Für den Initialwert wird zusätzlich einmal console.log('3 - update'); aufgerufen.
        },
        componentUpdated: function () { //4. Komponentenaktualisierung abgeschlossen console.log('4 - componentUpdated');
        },
        unbind: function () { //5. Unbind//Bereinigungsvorgänge durchführen. Wenn Sie beispielsweise den durch Bind gebundenen Ereignis-Listener entfernen, console.log('5 - bind');
        }
    })
    var vm = neuer Vue({
        el: "#app",
        Daten: {
            Zahl: 10,
            Farbe: 'rot'
        },
        Methoden: {
            hinzufügen: Funktion () {
                diese.num++;
            }
        }
    })
</Skript>

Initialisieren Sie die Auslösemethoden 1 und 2, klicken Sie auf die Schaltfläche „Hinzufügen“, um die Methoden 3 und 4 auszulösen, und klicken Sie auf die Schaltfläche „Aufheben“, um Methode 5 auszulösen, wie unten gezeigt:

Geben Sie hier die Bildbeschreibung ein

Dies ist das Ende dieses Artikels mit der detaillierten Erklärung der benutzerdefinierten Anweisungen für Vue.js-Direktiven. Weitere relevante benutzerdefinierte Anweisungen für Vue.js-Direktiven 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:
  • Detaillierte Erläuterung der benutzerdefinierten Anweisungen zur Vue.js-Quellcodeanalyse
  • Detaillierte Erklärung zum Lernen und Verwenden benutzerdefinierter Anweisungen für Vue.js
  • Eine kurze Erläuterung zur Implementierung benutzerdefinierter Dropdown-Menüanweisungen in Vue.js
  • Detaillierte Erläuterung der Wiederverwendbarkeits-Mixin-Methode und der benutzerdefinierten Anweisungen für Vue.js-Komponenten
  • Detaillierte Implementierung der internen benutzerdefinierten Anweisungen und der globalen benutzerdefinierten Anweisungen von vue.js (unter Verwendung der Direktive)
  • Grundlegende Nutzungsdetails der benutzerdefinierten Anweisungen für Vue.js

<<:  Schritte für Docker zum Erstellen eines privaten Lagerhafens

>>:  Detaillierte Analyse der MySQL MDL-Metadatensperre

Artikel empfehlen

Detaillierte Erläuterung der Laderegeln der require-Methode in node.js

Laderegeln der Require-Methode Laden aus dem Cach...

CSS-Tipps zur Implementierung der Chrome-Tab-Leiste

Dieses Mal schauen wir uns ein Navigationsleisten...

So konvertieren Sie Zeilen in Spalten in MySQL

MySQL-Zeilen-zu-Spalten-Operation Die sogenannte ...

Linux verwendet stty zum Anzeigen und Ändern von Terminalzeileneinstellungen

Sttty ist ein gängiger Befehl zum Ändern und Druc...

Vue.js implementiert eine einfache Timerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Empfehlen Sie einen coolen blinkenden Alarmknopf

Die Wirkung ist wie folgt: Der Code lautet wie fo...

Detaillierte Erläuterung der MySQL-Transaktionsverarbeitung

1. MySQL-Transaktionskonzept MySQL-Transaktionen ...

Die 13 am häufigsten in Interviews gestellten Fragen zu Vue-Modifikatoren

Inhaltsverzeichnis 1. faul 2.trimmen 3.Nummer 4.H...

Verwendung von Kubernetes YAML-Dateien

Inhaltsverzeichnis 01 Einführung in YAML-Dateien ...

So halten Sie eine lange Verbindung aufrecht, wenn Sie den Nginx-Reverse-Proxy verwenden

· 【Szenenbeschreibung】 Nach HTTP1.1 unterstützt d...

Detaillierte Erläuterung des Kapselungsbeispiels für Netzwerkanforderungen

Exportstandard ({ URL (URL = URL = URL), Methode ...