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
<meta name="viewport" content="...
Reagieren Sie auf mehrere Arten, um den Wert des ...
Mit beiden Methoden kann ein JavaScript-Code nach...
Inhaltsverzeichnis 1. Angelegenheiten: Vier Haupt...
Tomcat-Serverkonfiguration Jeder, der das Web ken...
In der MySQL-Dokumentation können MySQL-Variablen...
CSS hat zwei Pseudoklassen, die nicht häufig verw...
Laden von Kernelsymbolen mit gdb arm-eabi-gdb out...
Inhaltsverzeichnis 1. Prototyp-Beziehung 2. Proto...
JavaScript zeigt und verbirgt Bilder. Zu Ihrer In...
1. Download von der offiziellen Website: https://...
Die Ausführungsbeziehung zwischen dem href-Sprung...
CSS3-Mustergalerie Diese CSS3-Musterbibliothek ze...
Aus beruflichen Gründen musste ich kürzlich Zahle...
In diesem Artikel wird der spezifische JavaScript...