Dieser Artikel stellt hauptsächlich das Umschalten von Komponenten in Vue und die Cache-Lösung vor 1. KomponentenwechselmethodeMethode 1: Verwenden Sie v-if und v-else// Wenn die Variable Flag wahr ist, wird die Komponente comp-a angezeigt, andernfalls wird die Komponente comp-b angezeigt <comp-a v-if="flag"></comp-a> <comp-b v-else></comp-b> Methode 2: Integrierte Komponenten verwenden: <component></component>// Klicken Sie hier, um die Komponenten „Anmeldung“, „Registrierung“ und „Beenden“ zu wechseln <template> <div> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'login'">Anmelden</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'register'">Registrieren</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'logOut'">Abmelden</a> // <component></component> um die Komponente mit dem entsprechenden Namen anzuzeigen, der einem Platzhalter entspricht // Das Attribut :is gibt den Komponentennamen an <component :is="comName"></component> </div> </Vorlage> Methode 3: vue-router// Routing-Regeln: { Pfad: '/login', Name: 'Anmelden', Komponente: () => import('../views/login.vue') }, { Pfad: '/register', Name: 'register', Komponente: () => import('../views/register.vue') }, //Wo die Komponente angezeigt werden soll: <Router-Ansicht /> 2. Komponenten-Caching: Keep-AliveZwischenspeichern Sie Komponenten nach Bedarf, anstatt sie zu zerstören und neu zu erstellen, wie im tatsächlichen Szenario am Anfang dieses Artikels 1.Keep-Alive-Definition Wenn <keep-alive> ist eine abstrakte Komponente: Es rendert selbst kein DOM-Element und erscheint auch nicht in der übergeordneten Komponentenkette. Wenn eine Komponente innerhalb von 2.Keep-Alive-Lebenszyklusaktiviert Wird aufgerufen, wenn die deaktiv Dieser Hook wird aufgerufen, wenn die Komponenten, die im
Komponenten mit eingerichtetem Cache:
3. So verwenden Sie Keep-Alive1. Requisiten 2. Verwendung mit <component></component><Vorlage> <div> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'login'">Anmelden</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'register'">Registrieren</a> <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="comName = 'logOut'">Abmelden</a> // Die Login-Komponente wird zwischengespeichert. Wenn include nicht gesetzt ist, werden alle an <component></component> gemounteten Komponenten standardmäßig zwischengespeichert. // Mehrere angegebene Komponenten zwischenspeichern include = ['login', 'register'] <keep-alive include="Anmelden"> <Komponente: ist = "comName"></Komponente> </am Leben erhalten> </div> </Vorlage> 3. Verwendung mit <router-view />-Routing Das { Pfad: '/login', Name: 'Anmelden', Komponente: () => import('../views/login.vue') Meta:{ keepAlive : true // Login-Komponente wird zwischengespeichert} }, { Pfad: '/register', Name: 'register', Komponente: () => import('../views/register.vue'), Meta:{ keepAlive : false // Registerkomponente wird nicht zwischengespeichert} }, <Router-Ansicht />: <div id="app"> <am Leben erhalten> <!-- Komponenten anzeigen, die zwischengespeichert werden müssen--> <router-view v-if="$route.meta.keepAlive"> </router-view> </am Leben erhalten> <!-- Komponenten anzeigen, die kein Caching benötigen --> <router-view v-if="!$route.meta.keepAlive"> </router-view> </div> 4. Cache-Komponenten löschen// beforeRouteLeave() hook // Bestimmen, ob zur Detailseite gegangen werden soll beforeRouteLeave(to, from, next) { if (to.path === "/warendetail") { von.meta.keepAlive = wahr; } anders { von.meta.keepAlive = falsch; // dies.$destroy() } nächste(); } Dies ist das Ende dieses Artikels über Vue-Komponentenwechsel, dynamische Komponenten und Komponenten-Caching. Weitere relevante Inhalte zu Vue-Komponentenwechsel, dynamischen Komponenten und Komponenten-Caching 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:
|
<<: Einführung in MySQL-Rollenfunktionen
>>: So wählen und verwenden Sie PNG, JPG und GIF als Web-Bildformate
Kurzeigenschaften werden verwendet, um mehreren E...
Inhaltsverzeichnis Vorwort Kerncode Datei zeigt e...
Tabellenfelder hinzufügen alter table table1 add ...
1. Verwenden Sie den Curl-Befehl für den Standard...
Wir alle wissen, dass Apache in der Konfiguration...
Erstellen Sie eine neue Konfigurationsdatei (gehe...
Heute stelle ich zwei HTML-Tags vor, die ich nich...
Vorwort Vue (ausgesprochen /vjuː/, ähnlich wie vi...
Zelle -- der Inhalt der Tabelle Zellenrand (Tabell...
MySQL Limit kann Datenbankdaten segmentweise abfr...
Inhaltsverzeichnis 1. Testumgebung 1.1 CentOS 7 i...
Vorwort Index Condition Pushdown (ICP) ist eine n...
Einführung in die Verwendung des MySQL-Schlüsselw...
Laden Sie das Redis-Image herunter Docker-Pull yy...
Async Hooks ist eine neue Funktion von Node8. Sie...