


Vue erläutert ausführlich die Steckplätze, um die Skalierbarkeit der Komponenten zu erhöhen
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.
【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>
中的内容表示,如果没有在该组件中插入任何其他内容,就默认显示该内容
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: '#app', components: { cpn: { template: '#cpn', } } }) </script>
具名插槽 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: '#app', components: { cpn: { template: '#cpn', } } }) </script>
作用域插槽
实质:
父组件替换插槽的标签,但是内容由子组件来提供。
需求:
子组件中包括一组数据,比如: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 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>
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: '#app',
components: {
cpn: {
template: '#cpn',
data() {
return {
pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'],
}
}
}
}
})
</script>
Nach dem Login kopieren🎜🎜rrreee🎜 abrufen [Verwandte Empfehlungen: 🎜Javascript-Video-Tutorial🎜, 🎜vue.js-Tutorial🎜]🎜
<template> <div> <slot> <ul> <li>{{item}}</li> </ul> </slot> </div> </template>
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: '#app', components: { cpn: { template: '#cpn', data() { return { pLanguages: ['JavaScript', 'Python', 'Swift', 'Go', 'C++'], } } } } }) </script>
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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.

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.

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.

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.

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.

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.

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.
