1. KomponenteSo implementieren Sie dynamisches Komponenten-Rendering Dieses Tag entspricht einem Platzhalter und Sie müssen das Attribut is verwenden, um die gebundene Komponente anzugeben <button @click="comName = 'Left'">Links anzeigen</button> <button @click="comName = 'Right'">Rechts anzeigen</button> <div Klasse="Box"> <!-- Rendert die linke Komponente und die rechte Komponente--> <!-- Komponente ist in Vue integriert --> <!-- gibt den Namen der zu rendernden Komponente an--> <Komponente: ist = "comName"></Komponente> </div> <Skript> importiere Left von '@/compeonents/Left.vue' importiere Right aus '@/components/Right.vue' Standard exportieren { Komponenten: Links, Rechts }, Daten() { zurückkehren { //comName gibt den Namen der anzuzeigenden Komponente an comName: Left, } } } </Skript> 2. Keep-Alive-Modus2.1 Probleme Wenn eine Schaltfläche „plus eins“ in der Das Folgende ist eine Funktion, die zu <div Klasse="linker-Container"> <h3>Linke Komponente----{{ count }}</h3> <button @click="Anzahl += 1">+1</button> </div> <Skript> Standard exportieren { Daten(){ zurückkehren { Anzahl: 0 } } } </Skript> Wechseln Sie nach dem Hinzufügen einer zur Zeigen Sie die Das Folgende ist die Lebenszyklusfunktion, die zu Standard exportieren { erstellt() { console.log('Linke Komponente erstellt!') }, zerstört(){ console.log('Linke Komponente ist zerstört~') } } Nach der erneuten Ausführung des Einspruchsvorgangs lauten die Ergebnisse wie folgt: Problem: Beim Wechseln von Komponenten werden Komponenten gleichzeitig zerstört und erstellt. Wenn Sie also jedes Mal zur gleichen Komponente wechseln, ist das erhaltene Komponentenobjekt nicht dasselbe und die Initialisierungsdaten werden überschrieben 2.2 Verwenden Sie Keep-Alive zur Lösung Die Ändern Sie die App-Stammkomponente wie folgt: <am Leben erhalten> <!-- Keep-Alive kann interne Komponenten zwischenspeichern, anstatt sie zu zerstören --> <Komponente: ist = "comName"></Komponente> </am Leben erhalten> 2.3Keep-Alive-Lebenszyklus Dieser Lebenszyklus kann nur verwendet werden, wenn die Komponente Fügen Sie der //Wenn eine Komponente zum ersten Mal erstellt wird, wird zuerst „created“ (erstellt) und dann „activated“ (aktiviert) ausgelöst. //Wenn die Komponente aktiviert wird, wird nur die Aktivierung ausgelöst, nicht die Erstellung aktiviert() { console.log('Die Komponente ist aktiviert, aktiviert') }, deaktiviert(){ console.log('Die Komponente ist zwischengespeichert, deaktiviert') } 2.4 Keep-Alive-Eigenschaften einschließen und ausschließen Standardmäßig speichert So geben Sie die Komponenten an, die zwischengespeichert werden müssen: Verwenden Sie <keep-alive include="Links,MeinRechts"> <Komponente: ist = "comName"></Komponente> </am Leben erhalten>
In der linken Komponente: Standard exportieren{} In der rechten Komponente: Standard exportieren{ //Wenn das Namensattribut angegeben ist, ist der Name der Komponente der Wert des Namensattributs: „MyRight“ }
Außerhalb der Komponente: Importiere Links '@/components/Left.vue' Komponenten: Links, } Der hier registrierte Name wird nur zum Verweisen auf die Komponente verwendet. Wenn in der Komponente kein Innerhalb der Komponente: Standard exportieren{ //Wenn das Namensattribut angegeben ist, ist der Name der Komponente der Wert des Namensattributs: „MyRight“ } Dies ist das Ende dieses Artikels über dynamische Vue-Komponenten. Weitere verwandte Inhalte zu dynamischen Vue-Komponenten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung des TIMESTAMPDIFF-Falls in MySQL
>>: HTML-Formular und die Verwendung interner Formular-Tags
Studenten, die Websites erstellen, stellen häufig...
MySQL-Versionen werden in Enterprise Edition und ...
Einführung Heute werde ich die Verwendung der Sum...
Dies ist das Installationstutorial von mysql5.7.1...
Vorwort Dieser Artikel beschreibt zwei Situatione...
1. Dateistruktur des Tools-Verzeichnisses [root@w...
Inhaltsverzeichnis Wirkung Beginnen Sie mit der T...
Detaillierte Erklärung des Linux-Befehls vi Der v...
JavaScript-Umschalteffekt für Bekleidungsalben (ä...
Beispiele für die MySQL-Verschlüsselung und -Ents...
1. Oracle ist eine große Datenbank, während MySQL...
Dieser Artikel zeigt ein Beispiel, wie CSS3 verwe...
In diesem Artikel finden Sie das Download-, Insta...
1. HTML-Übersicht 1.HTML: Hypertext Markup Langua...
Vorwort Ich hatte kürzlich bei der Arbeit einige ...