Detaillierte Erläuterung des Problemfalls beim Löschen des Vue KeepAlive-Cache

Detaillierte Erläuterung des Problemfalls beim Löschen des Vue KeepAlive-Cache

Keepalive wird häufig zum Caching in Vue-Projekten verwendet, was sehr praktisch ist, um grundlegende Anforderungen zu erfüllen. Es ist jedoch etwas mühsam, die gleiche Seite je nach unterschiedlichen Bedingungen zwischenzuspeichern oder nicht zwischenzuspeichern.

Listen Sie zunächst die Nachteile auf:

1.

<keep-alive v-if="xxx">
          <Router-Ansicht />
</am Leben erhalten>
<keep-alive gegen sonst>
          <Router-Ansicht />
</am Leben erhalten>

Im Internet gibt es viele solcher Methoden. Bei Verwendung dieser Methode können die zwischengespeicherten Elemente nicht gelöscht werden. Tatsächlich teilt diese Methode die zwischengespeicherten und die nicht zwischengespeicherten Seiten zur Anzeige in zwei Komponenten auf. Obwohl es im Allgemeinen so aussieht, werden je nach Ihren Bedingungen tatsächlich unterschiedliche Komponenten zu unterschiedlichen Zeiten angezeigt.

2.

vm.$destroy()

Wenn man darüber nachdenkt, den vorhandenen Cache zu entfernen, denken die meisten Leute vermutlich zuerst darüber nach, wie man den Cache löscht. Deshalb habe ich auch versucht, eine Möglichkeit zu finden, den Cache zu löschen. Anschließend wird die Destroy-Methode von Vue aufgerufen. Wenn es zerstört ist, werden Sie sehr glücklich sein, festzustellen, dass es verwirklicht wurde! Der Cache wird gelöscht. ~ Sie denken also, das Problem sei behoben, und beginnen mit der Entwicklung von etwas anderem. Eines Tages wird es Ihnen plötzlich klar, nicht wahr? Warum wird meine Seite nicht zwischengespeichert? Nach einigen Untersuchungen wurde festgestellt, dass Seiten, die $destroy() aufriefen, nicht mehr zwischengespeichert wurden. .

Zum Schluss noch meine Lösung:

Vorlage
<keep-alive :include="keepAlive.join(',')">
         <Router-Ansicht />
</am Leben erhalten>

vuex

keepAlive: [
        '/joinManage/register/add-step1',
        '/joinManage/register/add-step2',
        '/joinManage/register/add-step3',
        '/joinManage/config/add-step1',
        '/joinManage/config/add-step2',
        '/joinManage/config/add-step3',
        '/joinManage/config/add-step4',
        '/joinManage/config/add-step5',
    ],

Verwenden Sie include+vuex, um die erforderlichen Cache-Seiten dynamisch zu ändern. Include akzeptiert den Namen der Komponente (ich finde die Benennung hier problematisch, daher verwende ich einfach den Pfad zur Benennung, aber der Pfad wird nicht wirklich verwendet)

Wenn wir auf diese Weise eine bestimmte Seite zwischenspeichern müssen, fügen wir ihren Namen dem Keepalive-Array hinzu und löschen die entsprechende Seite, wenn sie nicht benötigt wird. Dadurch wird der Cache-Löscheffekt von keepAlive erreicht

Dies ist das Ende dieses Artikels über den detaillierten Fall des Problems beim Löschen des Vue-KeepAlive-Cache. Weitere relevante Inhalte zum Problem beim Löschen des Vue-KeepAlive-Cache 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:
  • Anleitung zur Verwendung von keepAlive in Vue-Projekten (superpraktische Version)
  • Detaillierte Erklärung der KeepAlive-Verwendung in der Vue-Frontend-Entwicklung
  • Detaillierte Erklärung der KeepAlive-Anwendungsfälle in Vue
  • Detaillierte Erklärung der Funktion und Verwendung der KeepAlive-Komponente in Vue
  • Lösen Sie das Problem des fehlenden Cachings bei Verwendung von keepAlive in Vue
  • Die Vue-KeepsAlive-Einstellung wird nicht wirksam und ihre Lösung

<<:  Interpretation des Moduls zum Lastenausgleich mit nginx

>>:  Drei häufig verwendete MySQL-Datentypen

Artikel empfehlen

Erläuterung des MySQL-Abfragebeispiels anhand instanziierter Objektparameter

Dieser Artikel stellt vor, wie Sie durch Instanzi...

So erstellen Sie schnell eine LNMP-Umgebung mit Docker (neueste Version)

Vorwort Tipp: Hier können Sie den ungefähren Inha...

Was sind die neuen CSS-Pseudoklassenfunktionen :where und :is?

Was sind :is und :where? :is() und :where() sind ...

Eine kurze Analyse der Verwendung von watchEffect in Vue3

Vorwort Jeder sollte mit der Watch-API in vue2 ve...

Installationsschritte für die chinesische Eingabemethode von Ubuntu 20.04

Dieser Artikel installiert die Google-Eingabemeth...

Eine vollständige Liste gängiger Linux-Systembefehle für Anfänger

Das Erlernen von Linux-Befehlen stellt für die me...

Detaillierte Erläuterung der 6 Möglichkeiten der JS-Vererbung

Vererbung von Prototypketten Die Prototypenvererb...

CSS zum Erstellen eines dynamischen sekundären Menüs

Dynamisches Implementieren eines einfachen sekund...

Details zur MySQL-Sortierfunktion

Inhaltsverzeichnis 1. Problemszenario 2. Ursachen...

Detaillierte Erläuterung der Vue-Formularbindung und -Komponenten

Inhaltsverzeichnis 1. Was ist bidirektionale Date...

Detaillierte Erklärung der Sperrstruktur in MySQL

Mysql unterstützt 3 Arten von Sperrstrukturen Spe...

Eine kurze Diskussion zur MySQL-Indexoptimierungsanalyse

Warum sind die von Ihnen geschriebenen SQL-Abfrag...

Implementierung der Formularübermittlung in HTML

Formularübermittlungscode 1. Quellcode-Analyse &l...