Die Verwendung der vue3 Teleport-Sofortbewegungsfunktion dient zu Ihrer Information. Der spezifische Inhalt ist wie folgt Teleport wird normalerweise als sofortige Teleportationskomponente übersetzt, was eigentlich schwer zu verstehen ist. Ich verstehe es als „unabhängige Komponente“ Es kann die von Ihnen geschriebenen Komponenten in jedem gewünschten DOM mounten und ist daher sehr frei und unabhängig. Nehmen wir ein Beispiel: Schreiben einer Popup-Komponente <Vorlage> <teleportieren nach="#modal"> <div id="center" v-if="istOffen"> <h2><slot>Dies ist ein Modal</slot></h2> <button @click="buttonClick">Schließen</button> </div> </teleportieren> </Vorlage> <script lang="ts"> Standard exportieren { Requisiten: { isOpen: Boolesch, }, gibt aus: 'modal schließen': null }, setup(Eigenschaften, Kontext) { const buttonClick = () => { Kontext.emit('modal schließen') } zurückkehren { buttonKlick } } } </Skript> <Stil> #Mitte { Breite: 200px; Höhe: 200px; Rand: 2px tief schwarz; Hintergrund: weiß; Position: fest; links: 50%; oben: 50 %; Rand links: -100px; Rand oben: -100px; } </Stil> Bei Verwendung in app.vue ist es dasselbe wie der Aufruf einer normalen Komponente. <Vorlage> <div id="app"> <img alt="Vue-Logo" src="./assets/logo.png"> <HelloWorld msg="Willkommen bei Ihrer Vue.js-App"/> <HooksDemo></HooksDemo> <button @click="openModal">Modal öffnen</button><br/> <modal :isOpen="modalIsOpen" @close-modal="onModalClose"> Mein Modal !!!!</modal> </div> </Vorlage> <Skript> importiere HelloWorld aus './components/HelloWorld.vue' importiere HooksDemo aus './components/HooksDemo.vue' Modal aus „./components/Modal.vue“ importieren importiere{ref} von 'vue' Standard exportieren { Name: "App", Komponenten: Hallo Welt, HakenDemo, Modal }, aufstellen() { const modalIsOpen = ref(false) const openModal = () => { modalIsOpen.value = true } const onModalClose = () => { modalIsOpen.value = false } zurückkehren { modalIsOpen, offenModal, beiModalClose } } } </Skript> <Stil> #app { Schriftfamilie: Avenir, Helvetica, Arial, serifenlos; -webkit-font-smoothing: Kantenglättung; -moz-osx-font-smoothing: Graustufen; Textausrichtung: zentriert; Farbe: #2c3e50; Rand oben: 60px; } </Stil> Bei Verwendung in der Datei app.vue befindet sich das Modal unter dem DOM-Knoten der App, und die DOM-Struktur und das CSS des übergeordneten Knotens wirken sich auf das Modal aus und verursachen somit Probleme 1. Modal ist in andere Komponenten eingebunden und kann leicht gestört werden Teleport kann modale Komponenten in jedem externen DOM rendern, das Sie rendern möchten, ohne sie in #app verschachteln zu müssen, sodass sie sich nicht gegenseitig stören. Sie können sich Teleport als Portal vorstellen, mit dem Sie Ihre Komponenten an jeden beliebigen Ort übertragen können. Wenn Sie es verwenden, kann das to- Attribut den DOM-Knoten bestimmen, unter dem Sie es mounten möchten. <Vorlage> <teleportieren nach="#modal"> <div id="Mitte"> <h2>besser</h2> </div> </teleportieren> </Vorlage> Fügen Sie in index.html unter dem öffentlichen Ordner einen Knoten hinzu <!DOCTYPE html> <html lang="de"> <Kopf> <meta charset="utf-8"> <meta http-equiv="X-UA-kompatibel" content="IE=edge"> <meta name="viewport" content="width=Gerätebreite,Anfangsmaßstab=1.0"> <link rel="Symbol" href="<%= BASE_URL %>favicon.ico" > <Titel><%= htmlWebpackPlugin.options.title %></Titel> </Kopf> <Text> <keinSkript> <strong>Es tut uns leid, aber <%= htmlWebpackPlugin.options.title %> funktioniert nicht richtig, wenn JavaScript nicht aktiviert ist. Bitte aktivieren Sie es, um fortzufahren.</strong> </noscript> <div id="app"></div> <div id="modal"></div> <!-- erstellte Dateien werden automatisch eingefügt --> </body> </html> Auf diese Weise können Sie erkennen, dass die modale Komponente nicht unter der App gemountet ist und nicht mehr von der App-Komponente beeinflusst wird. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: So installieren und verwenden Sie Server-U Version 14
>>: mysql 5.7.18 winx64 Passwort ändern
Inhaltsverzeichnis 1. Strukturelle Anweisungen Mo...
Inhaltsverzeichnis 1. Docker installieren 2. Sona...
Heute ist der 618. und alle großen Einkaufszentre...
Inhaltsverzeichnis 1. Globale Ebene 2. Datenbanke...
Ich bin kürzlich auf einen Fehler gestoßen, als i...
Inhaltsverzeichnis Einführung in die WiFi-Wireles...
So konfigurieren Sie benutzerdefinierte Pfadalias...
Im vorherigen Artikel wurde vorgestellt, wie Vue ...
1. Neuen Benutzer hinzufügen Nur lokalen IP-Zugri...
Lebenslauf-Code: XML/HTML-CodeInhalt in die Zwisc...
Manchmal kann das Thema eines Projekts nicht jede...
Die Entwicklung der Docker-Technologie bietet ein...
1. Verwenden Sie Docker-Images, um alle Image-Dat...
Inhaltsverzeichnis Vorwort Kann typeof den Typ ko...
Verwenden Sie gespeicherte Prozeduren, um Transak...