Problembeschreibung (was ist Keep-Alive)
Es gibt auch ein Keep-Alive im Anforderungsheader des http-Protokolls, um den http-Aufruf wie folgt aufrechtzuerhalten: Verbindung: Keep-Alive Obwohl die Funktionen unterschiedlich sind, ist die Idee dieselbe, nämlich den Status aktiv zu halten Eine kleine Demo, um die Wirkung von Keep-Alive zu sehenDie Demo ist in den Routing-Navigationsteil oben und den Inhaltsbereichsteil unten unterteilt. Klicken Sie oben auf die Routennavigation, und die Routenansicht rendert die entsprechende Routenkomponente. Das Wirkungsdiagramm sieht wie folgt aus: Wirkungsdiagramm ohne Keep-Alive Entsprechender Code // #App.vue in <template> <div Klasse="Box"> <!-- Routennavigation--> <div Klasse="nav"> <router-link to="/">Zur Startseite</router-link> <router-link to="/about">Zur Infoseite</router-link> <router-link to="/detail">Zur Detailseite</router-link> </div> <!-- Inhaltsbereich entsprechend der Routennavigation--> <Haupt> <Router-Ansicht></Router-Ansicht> </main> </div> </Vorlage> // Platzieren Sie in home.vue ein Kontrollkästchen <el-checkbox v-model="checked">Optionen</el-checkbox> // Platzieren Sie in about.vue ein Eingabefeld <el-input v-model="input" placeholder="Bitte geben Sie Inhalt ein"></el-input> // Eine Dropdown-Box in detail.vue <el-select v-model="value" placeholder="Bitte auswählen"> <el-Option v-for="Element in Optionen" :Schlüssel="Artikel.Wert" :label="Artikel.label" :Wert="Artikel.Wert" > </el-Option> </el-Auswahl> analysieren
Wirkungsdiagramm der Verwendung von Keep-Alive Entsprechender Code <Vorlage> <div Klasse="Box"> <!-- Routennavigation--> <div Klasse="nav"> <router-link to="/">Zur Startseite</router-link> <router-link to="/about">Zur Infoseite</router-link> <router-link to="/detail">Zur Detailseite</router-link> </div> <!-- Inhaltsbereich entsprechend der Routennavigation--> <Haupt> <keep-alive> <!-- Umschließen Sie es mit keep-alive und Sie können es zwischenspeichern --> <Router-Ansicht></Router-Ansicht> </am Leben erhalten> </main> </div> </Vorlage> analysieren Nachdem wir die Ansichtsebenenkomponente mit Keep-Alive umschlossen haben, stellen wir fest, dass der von uns geprüfte, eingegebene und gelöschte Inhalt beim Hin- und Herschalten der Route nicht verloren geht. Das heißt, Keep-Alive wird zum Speichern des vorherigen Komponentenstatus verwendet. Gleichzeitig können wir sehen, dass in den Vue.js-Devtools auf der rechten Seite die entsprechende Komponente, die in der Router-Ansicht umgeschaltet wurde, bereits im inaktiven Zustand ist. Inaktiv bedeutet auf Englisch inaktiv und unbenutzt, das heißt, sie wurde zwischengespeichert und nicht zerstört. Daher werden die Vorgänge, die wir an der Komponente durchgeführt haben, und der Status der Komponente zwischengespeichert. Was wir überprüft, eingegeben und in der Dropdown-Liste ausgewählt haben, ist also immer noch vorhanden. Vue.js devtools ist sehr nützlich und kann über Google heruntergeladen werden. Es ist ein gutes Tool für die Vue-Entwicklung. Fragen aufwerfen Wenn wir dies sehen, stellen wir fest, dass alle Komponenten der Ansicht unter der Router-Ansichtshierarchie zwischengespeichert werden, wenn wir Keep-Alive direkt hinzufügen. Manchmal möchten wir jedoch nur einen Teil davon zwischenspeichern und nicht alles. Was sollten wir tun? Es spielt keine Rolle, die Großen haben es bereits im Voraus in Betracht gezogen und für uns gelöst, nämlich die Einschluss- und Ausschlussattribute in Keep-Alive Mit „include“ und „exclude“ wird angegeben, ob bestimmte Komponenten zwischengespeichert werden sollenInclude-Attribut „einschließen“ bedeutet „einschließen“. Der Wert ist eine Zeichenfolge, ein regulärer Ausdruck oder ein Array. Nur Komponenten, deren Namen mit dem Wert von include übereinstimmen, werden zwischengespeichert. Sie können also angeben, welche Komponenten zwischengespeichert werden sollen. Sie können mehrere Komponenten zum Zwischenspeichern angeben. Hier verwenden wir als Beispiel eine Zeichenfolge, um mehrere Komponenten-Caches anzugeben. Die Syntax besteht darin, sie durch Kommas zu trennen. wie folgt: //Geben Sie an, dass die Home-Komponente und die About-Komponente zwischengespeichert werden <keep-alive include="home,about" > <Router-Ansicht></Router-Ansicht> </am Leben erhalten> Ausschlussattribut Exclude ist das Gegenteil von include, also „außer“, und gibt an, welche Komponenten nicht zwischengespeichert werden. Die Verwendung ist ähnlich wie bei include, und zwar wie folgt: // Alles außer den Home- und About-Komponenten zwischenspeichern. In diesem Beispiel wird nur die Detailkomponente zwischengespeichert <keep-alive exclude="home,about" > <Router-Ansicht></Router-Ansicht> </am Leben erhalten> Nehmen Sie include="about,detail" als Beispiel Die Syntax bedeutet, dass nur „About“ und „Details“ zwischengespeichert werden und andere Komponenten nicht zwischengespeichert werden. Wenn wir uns das Vue-Tool in der Abbildung unten ansehen, können wir auch sehen, dass die zwischengespeicherten Komponenten inaktiv werden, wenn sie sich nicht in der entsprechenden angezeigten Route befinden. Neben den Include- und Exclude-Attributen verfügt Keep-Alive auch über ein Max-Attribut. Dieses Max-Attribut wird im Allgemeinen nicht allzu häufig verwendet. Sein Hauptzweck besteht darin, die Anzahl der zwischengespeicherten Komponenten zu steuern. Die später zwischengespeicherten Komponenten verdrängen die früher zwischengespeicherten Komponenten. Dies entspricht auch einer Cache-Optimierungsstrategie. Schließlich verbessert ordnungsgemäßes Caching das Benutzererlebnis, übermäßiges Caching verlangsamt jedoch den Computer. Die Attributwerte von include und exclude sind die Namen der Komponenten. Der Attributwert von „Include“ und „Exclude“ ist der Name der Komponente, d. h. der Namensattributwert der Komponente, d. h. der Namensattributwert, wie unten gezeigt. <Skript> Standard exportieren { Name: "App" // ... }; </Skript> Fragen aufwerfen Wir wissen, dass es in Komponenten entsprechende logische JS-Teile gibt und Komponenten Anfragen senden müssen, um Daten zu erhalten. Im Allgemeinen senden wir Anfragen in Create- oder Mount-Hooks, um die großen Jungs im Backend nach Daten zu fragen. In Bezug auf das Problem der Hook-Funktion der Komponente nach der Verwendung von Keep-Alive müssen wir Folgendes beachten: Ausführungsreihenfolge von Keep-Alive-Hook-FunktionenErstens werden nach der Verwendung der Keep-Alive-Komponente der aktivierte und der deaktivierte Hook automatisch zur Komponente hinzugefügt.
Ausführungsreihenfolge für das Eingeben und Verlassen des Komponenten-Hooks Angenommen, wir cachen nur die Home-Komponente, schauen wir uns den Code an und drucken dann die entsprechende Reihenfolge im Hook aus. Sie kennen die Reihenfolge, in der die Haken ausgeführt werden, und Sie werden beeindruckt sein, wenn Sie es selbst tun Der Code lautet wie folgt <Vorlage> <div> <el-checkbox v-model="checked">Optionen</el-checkbox> </div> </Vorlage> <Skript> Standard exportieren { Name: "Heim", data() { return { geprüft: false } }, erstellt() { console.log("Ich bin der erstellte Hook"); }, montiert() { console.log("Ich bin der gemountete Hook"); }, aktiviert() { console.log("Ich bin der aktivierte Hook"); }, deaktiviert() { console.log("Ich bin ein deaktivierter Hook"); }, vorZerstören() { console.log("Ich bin ein beforeDestroy-Hook"); Wir können also schlussfolgern: }, }; </Skript> Geben Sie die Komponente ein und drucken Sie die Ergebnisse wie folgt
Die Folgen des Verlassens des Komponentendrucks sind wie folgt Ich bin der deaktivierte Haken Fazit ziehen
Wir können also einige logische Verarbeitungen in den aktivierten und deaktivierten Hooks durchführen. Diese beiden Hooks ähneln ein wenig den Mounted- und BeforeDestroy-Hooks, sind aber dennoch unterschiedlich. Schließlich wird die Komponente durch die Verwendung von Keep-Alive nicht zerstört Beispiele für Keep-Alive-Anwendungsszenarien
Auffüllen Oben verwenden wir zur Erklärung den kleinen Fall von Keep-Alive, das die Router-Ansicht umschließt. Tatsächlich umschließt Keep-Alive normalerweise entweder die Router-Ansicht oder eine dynamische Komponentenkomponente. Der Code ist eigentlich derselbe. Das Umschließen dynamischer Komponenten wird wie folgt verwendet: <keep-alive include="home" exclude="über"> <Komponente: ist = "welcheKomponente"></Komponente> </am Leben erhalten> Die Include- und Exclude-Attribute von Keep-Alive unterstützen auch die Syntax von V-Bind und sind daher ebenfalls sehr flexibel. ZusammenfassenDies ist das Ende dieses Artikels über die Verwendung von Keep-Alive-Komponenten in Vue. Weitere relevante Inhalte zu Keep-Alive-Komponenten in Vue finden Sie in den vorherigen Artikeln von 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:
|
<<: Sequentielles und zufälliges Schreiben auf Linux-Festplatten
>>: Detaillierte Erläuterung der MySQL-Methode zur Optimierung der Reihenfolge nach Anweisung
Bei der Entwicklung für Mobilgeräte tritt häufig ...
MySQL ist ein relationales Datenbankverwaltungssy...
1. Von der offiziellen Website herunterladen und ...
Überprüfen Sie, ob MySQL bereits unter Linux inst...
Der Benutzer-Namespace ist ein neuer Namespace, d...
1. Richten Sie HOST auf dem Host-Macbook ein Im v...
In diesem Artikel wird beschrieben, wie Sie Docke...
Schauen wir uns die detaillierte Methode zum Erst...
Inhaltsverzeichnis Initialisierung initState() in...
Aufgrund Ihrer Unternehmensstandards gestatten Si...
1. Vermeiden Sie es, die Seite als XML-Typ zu dek...
Dieser Effekt tritt am häufigsten auf unserer Bro...
Die Implementierung eines benutzerdefinierten Kar...
Mysql ist eine gängige relationale Open-Source-Da...
1) Einführung in den Cache-Mechanismus Um die Lei...