Inhaltsverzeichnis
Slot-Slot
Component-Slot" > Component-Slot
Wie kapselt man solche Komponenten? Slot
Wie verpacke ich es richtig?
Grundlegende Verwendung von Slots
我是子组件
hahaha
具名插槽 slot
作用域插槽
实质:
需求:
Essenz: 🎜🎜Die übergeordnete Komponente ersetzt die Bezeichnung des Slots, der Inhalt wird jedoch von der untergeordneten Komponente bereitgestellt🎜. 🎜

Anforderungen:

Heim Web-Frontend View.js Vue erläutert ausführlich die Steckplätze, um die Skalierbarkeit der Komponenten zu erhöhen

Vue erläutert ausführlich die Steckplätze, um die Skalierbarkeit der Komponenten zu erhöhen

Aug 10, 2022 pm 03:09 PM
vue

Dieser Artikel bringt Ihnen relevantes Wissen über vue, in dem hauptsächlich die Probleme im Zusammenhang mit Slots vorgestellt werden, die die Skalierbarkeit von Komponenten erhöhen. Die Slots von Komponenten dienen auch dazu, die von uns gekapselten Komponenten skalierbarer zu machen, sodass Benutzer entscheiden können, welchen Inhalt sie haben Schauen wir uns das Innere der Komponente an. Ich hoffe, es wird für alle hilfreich sein.

Vue erläutert ausführlich die Steckplätze, um die Skalierbarkeit der Komponenten zu erhöhen

【Verwandte Empfehlungen: Javascript-Video-Tutorial, vue.js-Tutorial

Slot-Slot

Component-Slot

  • Component-Slot ist auch für uns Isolierte Komponenten sind besser skalierbar .

  • Ermöglicht Benutzern die Entscheidung, welche Inhalte innerhalb der Komponente angezeigt werden sollen.

Wie kapselt man solche Komponenten? Slot

Sie haben auch viele Unterschiede, aber sie haben auch viele Gemeinsamkeiten.

Wenn wir eine Komponente einzeln kapseln, ist dies offensichtlich unangemessen: Wenn beispielsweise jede Seite zurückgegeben wird, müssen wir diesen Teil des Inhalts wiederholt kapseln.
Es erscheint jedoch unvernünftig, wenn wir sie in einem zusammenfassen: Einige sind Menüs auf der linken Seite, einige sind Return-Menüs, einige sind Suchvorgänge in der Mitte, einige sind Text usw.

Wie verpacke ich es richtig?

Gemeinsamkeiten extrahieren und Unterschiede beibehalten.

Der beste Weg zur Kapselung besteht darin, Gemeinsamkeiten in Komponenten zu extrahieren und verschiedeneals Slots freizulegen.
Sobald wir den Slot reserviert haben, kann der Benutzer nach seinen eigenen Bedürfnissen entscheiden, welche Inhalte er in den Slot einfügen möchte.
Handelt es sich um ein Suchfeld, einen Text oder ein Menü? Die Entscheidung liegt beim Anrufer.

Grundlegende Verwendung von Slots

  • In einer Unterkomponente können Sie spezielle Elemente verwenden, um einen Slot für die Unterkomponente zu öffnen.
  • Was in diesen Steckplatz eingefügt wird, hängt davon ab, wie die übergeordnete Komponente verwendet wird.

Verwenden Sie ein einfaches Beispiel, um einen Slot für eine Unterkomponente zu definieren: Der Inhalt in
<slot></slot> bedeutet, dass dieser standardmäßig angezeigt wird, wenn kein anderer Inhalt in die Komponente eingefügt wird . Inhalt <slot></slot>中的内容表示,如果没有在该组件中插入任何其他内容,就默认显示该内容
Vue erläutert ausführlich die Steckplätze, um die Skalierbarkeit der Komponenten zu erhöhen

nbsp;html>



    <meta>
    <meta>
    <title>Document</title>
    <script></script>



    <div>
        <cpn><button>按钮</button></cpn>
        <cpn><span>aaaaa</span></cpn>
    </div>
    <template>
        <div>
            <h2 id="我是子组件">我是子组件</h2>
            <h3 id="hahaha">hahaha</h3>
            <slot></slot>
        </div>
    </template>
    <script>
        let app = new Vue({
            el: &#39;#app&#39;,
            components: {
                cpn: {
                    template: &#39;#cpn&#39;,
                }
            }
        })
    </script>


Nach dem Login kopieren

具名插槽 slot

当子组件的功能复杂时,子组件的插槽可能并非是一个

比如我们封装一个导航栏的子组件,可能就需要三个插槽,分别代表左边、中间、右边。那么,外面在给插槽插入内容时,如何区分插入的是哪一个呢?

如何使用具名插槽呢?

  • 只要给slot元素一个name属性即可
  • <slot name="'myslot'"></slot>
nbsp;html>



    <meta>
    <meta>
    <title>Document</title>
    <script></script>



    <div>
        <cpn><button>按钮1</button></cpn>
        <cpn><span>aaaaa</span>
            <button>按钮2</button></cpn>
    </div>
    <template>
        <div>
            <h2 id="我是子组件">我是子组件</h2>
            <h3 id="hahaha">hahaha</h3>
            <slot></slot><br>
            <slot></slot>
        </div>
    </template>
    <script>
        let app = new Vue({
            el: &#39;#app&#39;,
            components: {
                cpn: {
                    template: &#39;#cpn&#39;,
                }
            }
        })
    </script>


Nach dem Login kopieren

作用域插槽

实质:

父组件替换插槽的标签,但是内容由子组件来提供

需求:

子组件中包括一组数据,比如:pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++']
需要在多个界面进行展示:

  • 某些界面是以水平方向一一展示的
  • 某些界面是以列表形式展示的
  • 某些界面直接展示一个数组

内容在子组件,希望在父组件中展示:

  • 利用slot作用域插槽

在父组件使用我们的子组件时,从子组件中拿到数据:

  • 通过<template slot-scope="slotProps"></template>获取到slotProps属性
  • 通过slotProps.data Slot

Wenn die Funktion der Unterkomponente komplex ist, ist der Slot Vue erläutert ausführlich die Steckplätze, um die Skalierbarkeit der Komponenten zu erhöhen der Unterkomponente möglicherweise kein einziger

.

Wenn wir beispielsweise eine Unterkomponente einer Navigationsleiste kapseln, benötigen wir möglicherweise drei Steckplätze, die jeweils den linken, mittleren und rechten Bereich darstellen. Wie kann man also beim Einfügen von Inhalten in den Steckplatz unterscheiden, welcher Inhalt eingefügt wird? Wie verwende ich benannte Slots?

🎜Geben Sie dem Slot-Element einfach ein Namensattribut🎜🎜<slot name="myslot"></slot>🎜🎜
<div>
        <cpn></cpn>
        <cpn>
            <template>
                <span>{{slot.data.join('-')}}</span>
            </template>
        </cpn>
        <cpn>
            <template>
                <span>{{slot.data.join('*')}}</span>
            </template>
        </cpn>
    </div>
Nach dem Login kopieren
🎜🎜Scope-Slot🎜🎜

Essenz: 🎜🎜Die übergeordnete Komponente ersetzt die Bezeichnung des Slots, der Inhalt wird jedoch von der untergeordneten Komponente bereitgestellt🎜. 🎜

Anforderungen:

🎜Die Unterkomponente enthält einen Satz von Daten, wie zum Beispiel: pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'] Code >🎜 Muss auf mehreren Schnittstellen angezeigt werden: 🎜🎜🎜Einige Schnittstellen werden einzeln in horizontaler Richtung angezeigt🎜🎜Einige Schnittstellen werden in Listenform angezeigt🎜🎜Einige Schnittstellen zeigen direkt ein Array an🎜🎜🎜Der Inhalt befindet sich im Unterkomponente, hoffe, in der übergeordneten Komponente angezeigt zu werden: 🎜🎜🎜🎜Verwenden Sie den Slot-Scope-Slot 🎜🎜🎜🎜Wenn die übergeordnete Komponente unsere untergeordnete Komponente verwendet, rufen Sie die Daten von der untergeordneten Komponente ab: 🎜🎜🎜über <code> Holen Sie sich das SlotProps-Attribut🎜🎜Sie können die Daten, die wir gerade übergeben haben, über slotProps.data🎜🎜
<template>
        <div>
            <slot>
                <ul>
                <li>{{item}}</li>
                </ul>
            </slot>
        </div>
    </template>
Nach dem Login kopieren
nbsp;html>



    
    
    Document
    <script></script>



    <div>
        <cpn></cpn>
        <cpn>
            <template>
                <span>{{slot.data.join('-')}}</span>
            </template>
        </cpn>
        <cpn>
            <template>
                <span>{{slot.data.join('*')}}</span>
            </template>
        </cpn>
    </div>
    <template>
        <div>
            <slot>
                <ul>
                <li>{{item}}</li>
                </ul>
            </slot>
        </div>
    </template>
    <script>
        let app = new Vue({
            el: &#39;#app&#39;,
            components: {
                cpn: {
                    template: &#39;#cpn&#39;,
                    data() {
                        return {
                            pLanguages: [&#39;JavaScript&#39;, &#39;Python&#39;, &#39;Swift&#39;, &#39;Go&#39;, &#39;C++&#39;],
                        }
                    }
                }
            }
        })
    </script>


Nach dem Login kopieren
🎜🎜rrreee🎜 abrufen [Verwandte Empfehlungen: 🎜Javascript-Video-Tutorial🎜, 🎜vue.js-Tutorial🎜]🎜

Das obige ist der detaillierte Inhalt vonVue erläutert ausführlich die Steckplätze, um die Skalierbarkeit der Komponenten zu erhöhen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

So fügen Sie Funktionen zu Schaltflächen für Vue hinzu So fügen Sie Funktionen zu Schaltflächen für Vue hinzu Apr 08, 2025 am 08:51 AM

Sie können der VUE -Taste eine Funktion hinzufügen, indem Sie die Taste in der HTML -Vorlage an eine Methode binden. Definieren Sie die Methode und schreiben Sie die Funktionslogik in der VUE -Instanz.

So verweisen Sie auf die JS -Datei mit Vue.js So verweisen Sie auf die JS -Datei mit Vue.js Apr 07, 2025 pm 11:27 PM

Es gibt drei Möglichkeiten, sich auf JS -Dateien in Vue.js zu beziehen: Geben Sie den Pfad direkt mit dem & lt; Skript & gt an. Etikett;; Dynamischer Import mit dem montierten () Lebenszyklushaken; und importieren über die Vuex State Management Library.

So verwenden Sie Watch in Vue So verwenden Sie Watch in Vue Apr 07, 2025 pm 11:36 PM

Mit der Watch -Option in Vue.js können Entwickler auf Änderungen in bestimmten Daten anhören. Wenn sich die Daten ändert, löst sich eine Rückruffunktion aus, um Aktualisierungsansichten oder andere Aufgaben auszuführen. Zu den Konfigurationsoptionen gehören unmittelbar, die festlegen, ob ein Rückruf sofort ausgeführt werden soll, und Deep, das feststellt, ob Änderungen an Objekten oder Arrays rekursiv anhören sollen.

Was bedeutet VUE Multi-Page-Entwicklung? Was bedeutet VUE Multi-Page-Entwicklung? Apr 07, 2025 pm 11:57 PM

VUE Multi-Page-Entwicklung ist eine Möglichkeit, Anwendungen mithilfe des Vue.js-Frameworks zu erstellen, in dem die Anwendung in separate Seiten unterteilt ist: Code-Wartung: Die Aufteilung der Anwendung in mehrere Seiten kann das Verwalten und Wartungsbereich erleichtern. Modularität: Jede Seite kann als separates Modul für eine einfache Wiederverwendung und den Austausch verwendet werden. Einfaches Routing: Die Navigation zwischen Seiten kann durch einfache Routing -Konfiguration verwaltet werden. SEO -Optimierung: Jede Seite hat eine eigene URL, die SEO hilft.

So kehren Sie von Vue zur vorherigen Seite zurück So kehren Sie von Vue zur vorherigen Seite zurück Apr 07, 2025 pm 11:30 PM

VUE.JS hat vier Methoden, um zur vorherigen Seite zurückzukehren: $ router.go (-1) $ router.back () verwendet & lt; Router-Link to = & quot;/& quot; Komponentenfenster.history.back () und die Methodenauswahl hängt von der Szene ab.

So verwenden Sie Vue Traversal So verwenden Sie Vue Traversal Apr 07, 2025 pm 11:48 PM

Es gibt drei gängige Methoden für Vue.js, um Arrays und Objekte zu durchqueren: Die V-für-Anweisung wird verwendet, um jedes Element zu durchqueren und Vorlagen zu rendern; Die V-Bind-Anweisung kann mit V-für dynamisch Attributwerte für jedes Element verwendet werden. und die .MAP -Methode kann Array -Elemente in Neuarrays umwandeln.

So fragen Sie die Version von Vue So fragen Sie die Version von Vue Apr 07, 2025 pm 11:24 PM

Sie können die Vue -Version mit Vue Devtools abfragen, um die Registerkarte VUE in der Konsole des Browsers anzuzeigen. Verwenden Sie NPM, um den Befehl "npm list -g vue" auszuführen. Suchen Sie das Vue -Element im Objekt "Abhängigkeiten" der Datei package.json. Führen Sie für Vue -CLI -Projekte den Befehl "Vue --version" aus. Überprüfen Sie die Versionsinformationen im & lt; Skript & gt; Tag in der HTML -Datei, die sich auf die VUE -Datei bezieht.

See all articles