Detaillierte Erklärung zu anonymen Slots und benannten Slots in Vue

Detaillierte Erklärung zu anonymen Slots und benannten Slots in Vue

Slot, auch Slot genannt, ist der Inhaltsverteilungsmechanismus von Vue. Die Vorlagen-Engine innerhalb der Komponente verwendet das Slot-Element als Auslass zum Übertragen verteilter Inhalte.

Ein Slot ist ein Vorlagen-Tag-Element einer untergeordneten Komponente. Ob und wie dieses Tag-Element angezeigt wird, wird von der übergeordneten Komponente bestimmt.

Slots sind in drei Kategorien unterteilt: Standard-Slots, benannte Slots und Slots mit begrenztem Bereich. (Hier sprechen wir von den ersten beiden)

Das Wesentliche an Slots ist, dass Slots im Wesentlichen Erweiterungen von Unterkomponenten sind und Inhalte über den <slot>-Slot an den „angegebenen Ort“ innerhalb der Komponente übermittelt werden.

1. Anonyme Slots

Standard-Slot : auch als anonymer Slot bekannt, ein Standardanzeige-Slot, wenn der Slot keinen Namensattributwert angibt. In einer Komponente gibt es nur einen anonymen Slot.

Beispiel:

Erstellen Sie zunächst eine Vue-Instanz und mounten Sie sie auf dem Div mit der ID-App

<div id="app">
 
    </div>
 
    <script src="./js/vue.js"></script>
    <Skript>
 
        // Root-Komponente (übergeordnete Komponente, auch Basiskomponente genannt)
        lass vm = neues Vue({
            el:'#app',
        })
    </Skript>

Definieren Sie beim Erstellen einer lokalen Komponente den Steckplatz in der Komponente. Der Steckplatz muss in der untergeordneten Komponente platziert werden.

 // lokale Komponente deklarieren let child = {
            Vorlage:`
            <div>
                <p>Ich bin eine Unterkomponente</p>
                <p>Ich bin eine Reihe von Wörtern</p>
                <slot>Dies ist ein Platzhalter</slot>
            </div>
            `
        }

Definieren Sie die lokale Komponente im Unterkomponentenzentrum der VM-Instanz und rendern Sie sie in der Ansichtsebene

  // Root-Komponente (übergeordnete Komponente, auch Basiskomponente genannt)
        lass vm = neues Vue({
            el:'#app',
 
            // Unterkomponenten (Registrierungscenter)
            Komponenten: {
                // Schlüssel-Wert-Paar, Kind kann weggelassen werden, wenn Schlüssel und Wert gleich sind
            }
        })
<div id="app">
 
        <!-- Komponenten verwenden -->
        <Kind></Kind>
    </div>

Wenn kein Inhalt übergeben wird, wird der (Standard-)Inhalt des Slots angezeigt.

Wir übergeben den Inhalt an den Slot in der Ansichtsebene:

 <!-- Komponenten verwenden -->
        <Kind>
            <h1 style="color: aqua;">Dies ist ein Inhalt</h1>
        </child>

Wenn Inhalt übergeben wird, wird der (Standard-)Inhalt des Slots nicht angezeigt.

Hinweis: Um Inhalte an den Slot auf der Ansichtsebene zu übergeben, muss in der untergeordneten Komponente ein Slot vorhanden sein, sonst wird dieser nicht angezeigt!

Wenn Sie in einer untergeordneten Komponente mehrere anonyme Slots haben, wird der übergebene Inhalt separat in jeden Slot eingefügt:

 Vorlage:`
            <div>
                <p>Ich bin eine Unterkomponente</p>
                <p>Ich bin eine Reihe von Wörtern</p>
                <slot>Dies ist ein Platzhalter</slot>
                <Steckplatz></Steckplatz>
                <Steckplatz></Steckplatz>
            </div>
            `
<Kind>
            <h1 style="color: aqua;">Dies ist der erste Inhalt</h1>
            <h1 style="color: red;">Dieser zweite Inhalt</h1>
        </child>

2. Benannte Slots

Geben Sie beim Definieren von Slots in untergeordneten Komponenten den entsprechenden Slots einen Namen, um das spätere Einfügen übergeordneter Komponenten zu erleichtern und den entsprechenden Inhalt entsprechend dem Namen zu füllen.

Geben Sie dem Slot zunächst in der untergeordneten Komponente einen Namen (der anonyme Slot hat eigentlich einen Standardnamen, „default“, der weggelassen werden kann):

 Vorlage:`
            <div>
                <p>Ich bin eine Unterkomponente</p>
                <p>Ich bin eine Reihe von Wörtern</p>
                <slot name="default">Dies ist ein Platzhalter</slot>
                <slot name="t1">Dies ist der Inhalt des Platzhalters t1</slot>
                <slot name="t2">Dies ist der Inhalt des t2-Platzhalters</slot>
                <slot name="t3">Dies ist der Inhalt des t3-Platzhalters</slot>
                <slot name="t5">Dies ist der Inhalt von t4</slot>
            </div>
            `,

Methoden mit benannten Slots

1. Definieren Sie die Slots in der Unterkomponente und geben Sie ihnen einen Namen

2. Fügen Sie in der Ansichtsebene der übergeordneten Komponente auf einem Tag das Slot-Attribut zum Tag hinzu

Dieser Eigenschaft kann der Name des jeweiligen Slots zugewiesen werden.

 <Kind>
            <!-- Diese beiden Sätze befinden sich derzeit noch im anonymen Slot-->
            <h1 style="color: aqua;">Dies ist der erste Inhalt</h1>
            <h1 style="color: red;">Dieser zweite Inhalt</h1>
 
                <!-- slot="t1" gibt den Slot an, in den der Inhalt eingefügt werden soll -->
            <h2 style="color: blue;" slot="t1">Ich möchte es im benannten Slot t1 verwenden</h2>
            <h3 style="color: green;" slot="t2">Ich möchte es im benannten Slot t2 verwenden</h3>
            <h4 style="color: orange;" slot="t3">Ich möchte es in den benannten Slot t3 einfügen</h4>
            <h5 style="color: pink;" slot="t4">Ich möchte es im benannten Slot t4 verwenden</h5>
        </child>

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • Verständnis und Beispielcode des Vue-Standardslots
  • Grundlegende Anwendungsbeispiele für benannte Slots in Vue
  • Vue verwendet Slots, um Beispiele für Inhaltsvorgänge zu verteilen [einzelner Slot, benannter Slot, Slot mit Gültigkeitsbereich]
  • Detaillierte Erklärung zur Verwendung von anonymen, benannten und bereichsbezogenen Slots in Vue
  • Detaillierte Erklärung zur Verwendung von Scoped Slots in Vue.js-Slots
  • Informationen zu VUEs Kompilierungsumfang und Slotumfang-Slotproblemen
  • Detaillierte Erläuterung der Implementierungsmethode und -funktion des Vue-Bereichssteckplatzes
  • Vue-Standardslot, benannter Slot, Bereichsslot – Definition und Verwendung

<<:  CSS löst das Fehlausrichtungsproblem von Inline-Blöcken

>>:  Lösung für falsche Zeichenfolgenwerte in MySQL

Artikel empfehlen

HTML löst das Problem ungültiger Tabellenbreiteneinstellungen

Wenn Sie den Stil „table-layer:fixed“ für eine Ta...

Docker realisiert die Verbindung mit demselben IP-Netzwerksegment

Vor Kurzem habe ich das Problem gelöst, dass Dock...

So erstellen Sie einen Trigger in MySQL

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung der MySQL-Slow-Log-Praxis

Langsame Protokollabfragefunktion Die Hauptfunkti...

js behandelt die Kontoabmeldung beim Schließen des Browsers

Inhaltsverzeichnis Klassischer Ansatz Frage Weite...

Einige Vorschläge zur Lesbarkeit des Vue-Codes

Inhaltsverzeichnis 1. Nutzen Sie Komponenten sinn...

Lösung für das Problem der langsamen Docker-Pull-Image-Geschwindigkeit

Derzeit verfügt Docker über einen offiziellen Mir...

JS Canvas-Oberfläche und Animationseffekte

Inhaltsverzeichnis Überblick Canvas API: Grafiken...

HTML-Tabellen-Tag-Tutorial (46): Tabellenfußzeilen-Tag

Mit dem Tag <tfoot> wird der Stil der Tabel...

Einführung in die schnelle Docker-Bereitstellung eines SpringBoot-Projekts

1. Docker installieren Öffnen Sie zunächst die Li...

Die Qualitäten und Fähigkeiten, die ein Webdesigner haben sollte

Webdesign ist eine aufstrebende Randbranche, die n...

Beispiel zum Erstellen eines Datenbanknamens mit Sonderzeichen in MySQL

Vorwort In diesem Artikel wird erklärt, wie Sie i...

Vue Router vue-router ausführliche Erklärung Anleitung

Chinesische Dokumentation: https://router.vuejs.o...