Heim > Web-Frontend > Front-End-Fragen und Antworten > Was bedeutet die Vue-Cache-Komponente?

Was bedeutet die Vue-Cache-Komponente?

青灯夜游
Freigeben: 2022-12-02 20:51:35
Original
2957 Leute haben es durchsucht

In Vue ist die Cache-Komponente „keep-alive“ und eine abstrakte Komponente. Sie rendert kein DOM-Element selbst und erscheint auch nicht in der übergeordneten Komponentenkette der Komponente. Cache-Komponenten werden hauptsächlich verwendet, um den Komponentenstatus beizubehalten oder ein erneutes Rendern zu vermeiden. Beim Umschließen dynamischer Komponenten werden inaktive Komponenteninstanzen zwischengespeichert, anstatt sie zu zerstören.

Was bedeutet die Vue-Cache-Komponente?

Die Betriebsumgebung dieses Tutorials: Windows7-System, Vue3-Version, DELL G3-Computer.

In Vue ist die Cache-Komponente „Keep-Alive“ und eine abstrakte Komponente.

Cache-Komponente „Keep-Alive“

Keep-Alive ist eine integrierte Komponente von Vue. Beim Umschließen dynamischer Komponenten werden inaktive Komponenteninstanzen im Speicher belassen, Anforderungen optimiert und DOM-Neustarts verhindert. Rendering

Was bedeutet die Vue-Cache-Komponente?

Offizielle Dokumentation: Keep-Alive für dynamische Komponenten verwenden

wird hauptsächlich verwendet, um den Komponentenstatus beizubehalten oder ein erneutes Rendern zu vermeiden. Wenn dynamische Komponenten umschlossen werden, werden inaktive Komponenteninstanzen zwischengespeichert, anstatt sie zu zerstören.

(1) Der Komponentencache ist nicht dauerhaft, er wird nur nicht erneut gerendert, wenn die Anwendung aktualisiert wird.

(2) ist eine abstrakte Komponente: Sie rendert kein DOM-Element selbst und erscheint auch nicht in der übergeordneten Komponentenkette der Komponente.

(3) Es ist erforderlich, dass die Komponente, zu der gewechselt wird, einen eigenen Namen hat, sei es durch die Namensoption der Komponente oder durch lokale/globale Registrierung.

(4) Komponentenlebenszyklus-Hooks und Caching

Was bedeutet die Vue-Cache-Komponente?

(5) Einschluss- und Ausschlussattribute ermöglichen das bedingte Zwischenspeichern von Komponenten. Beide können als durch Kommas getrennte Zeichenfolge, als regulärer Ausdruck oder als Array dargestellt werden.

<!-- 逗号分隔字符串 -->
<keep-alive include="a,b">
  <component :is="view"></component>
</keep-alive>

<!-- 正则表达式 (使用 `v-bind`) -->
<keep-alive :include="/a|b/">
  <component :is="view"></component>
</keep-alive>

<!-- 数组 (使用 `v-bind`) -->
<keep-alive :include="[&#39;a&#39;, &#39;b&#39;]">
  <component :is="view"></component>
</keep-alive>
Nach dem Login kopieren

Die Übereinstimmung überprüft zunächst die eigene Namensoption der Komponente. Wenn die Namensoption nicht verfügbar ist, stimmt sie mit ihrem lokalen Registrierungsnamen überein (dem Schlüsselwert der Komponentenoption der übergeordneten Komponente). Anonyme Komponenten können nicht abgeglichen werden. [Freigabe von Lernvideos: vue-Video-Tutorial, Web-Frontend-Video]

Einige Probleme bei der Verwendung von Cache-Komponenten

Problem 1: Wenn zu viele zwischengespeicherte Komponenten vorhanden sind oder unnötige Komponenten ebenfalls zwischengespeichert werden , führt dies zu einer übermäßigen Speichernutzung.

Problem 2: Es führt dazu, dass Dinge, die aktualisiert werden müssen, zwischengespeichert werden. Wenn beispielsweise die Detailkomponente zwischengespeichert wird, wird sie nicht aktualisiert.

Strategie: Zwischenspeichern wichtiger, hochfrequenter (z. B. Homepage) oder Komponenten, die sich nicht wesentlich ändern.

Lösung: Markieren Sie die Route, die zwischengespeichert werden soll, und entscheiden Sie dann dynamisch, ob sie beim Laden der Route zwischengespeichert werden soll. Präzisere Kontrolle über die zwischenzuspeichernden Komponenten

Optimierte Schreibmethode für das Komponenten-Caching:

Fügen Sie beim Definieren von Routen zusätzliche Routing-[Metainformationen] hinzu, um einige Informationselemente zu ergänzen.

{ 
  path: &#39;/&#39;, 
  component: () => import(&#39;../views/home/index.vue&#39;), 
  //是否缓存
  meta: { isKeepAlive: true } 
},
Nach dem Login kopieren

Entscheiden Sie, ob Komponenten basierend auf Meta-Metainformationen in app.vue zwischengespeichert werden sollen

<div id="app">
  <keep-alive>
    <router-view v-if="$route.meta.isKeepAlive"/>
  </keep-alive>
  <router-view v-if="!$route.meta.isKeepAlive"/>
</div>
Nach dem Login kopieren

(Lernvideo-Sharing: Web-Front-End-Entwicklung, Grundlegendes Programmiervideo)

Das obige ist der detaillierte Inhalt vonWas bedeutet die Vue-Cache-Komponente?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage