So leeren Sie den Cache nach der Verwendung von Keep-Alive in Vue

So leeren Sie den Cache nach der Verwendung von Keep-Alive in Vue

Was ist Keepalive?

Bei der normalen Entwicklung müssen einige Komponenten nicht mehrmals initialisiert werden. Zu diesem Zeitpunkt müssen wir die Komponenten beibehalten, damit der Status der Komponenten unverändert bleibt und die Komponenten bei der nächsten Anzeige nicht erneut initialisiert werden.

Mit anderen Worten: Keepalive ist eine integrierte Komponente von Vue, die es den enthaltenen Komponenten ermöglicht, ihren Status beizubehalten oder ein erneutes Rendern zu vermeiden. Dies wird als Komponenten-Caching bezeichnet.

Grundlegende Verwendung

<am Leben erhalten>
    <component /> //Ihre Komponente</keep-alive>

Voraussetzung: Beim Aufruf der Detailseite von der Listenseite und der anschließenden Rückkehr zur Listenseite bleiben die Abfragebedingungen erhalten, beim Wechsel auf andere Reiter werden die Abfragebedingungen jedoch gelöscht.

Lösung: Es ist sehr einfach, die Abfragebedingungen beizubehalten, führen Sie einfach Keep-Alive direkt ein. Wenn Sie sie jedoch löschen möchten, verfügt Vue selbst nicht über eine API, um sie direkt zu löschen. Sie müssen dies daher separat handhaben.

Referenzartikel: http://aspedrom.com/5HD5

Router/Index, fängt die Route ab und verarbeitet sie:

vorRouteVerlassen:Funktion(nach, von, weiter){
    // Keep-Alive-Löschung beim Verlassen der Route hinzufügen
    wenn (von && von.meta.rank && bis.meta.rank && von.meta.rank == bis.meta.rank)
    {//Die Entscheidung hier ist, ob Sie zur vorherigen Ebene zurückkehren. Sie können die Entscheidungslogik hier entsprechend Ihrem eigenen Geschäft ändern und entscheiden, ob der Cache dieser Ebene zerstört werden soll.
        wenn (dieser.$vnode und dieser.$vnode.data.keepAlive)
        {
            wenn (dies.$vnode.parent && dies.$vnode.parent.componentInstance && dies.$vnode.parent.componentInstance.cache)
            {
                wenn (this.$vnode.componentOptions)
                {
                    var Schlüssel = this.$vnode.key == null
                                ? dies.$vnode.componentOptions.Ctor.cid + (dies.$vnode.componentOptions.tag ? `::${this.$vnode.componentOptions.tag}` : '')
                                : dies.$vnode.key;
                    var cache = this.$vnode.parent.componentInstance.cache;
                    var Schlüssel = this.$vnode.parent.componentInstance.keys;
                    if (Cache[Schlüssel])
                    {
                        if (Schlüssel.Länge) {
                            var index = keys.indexOf(Schlüssel);
                            wenn (Index > -1) {
                                Schlüssel.splice(Index, 1);
                            }
                        }
                        Cache[Schlüssel] löschen;
                    }
                }
            }
        }
        dies.$destroy();
    }
    nächste();
},

Fügen Sie der Route auch Metadaten hinzu:

{
    //Pfad der Kontoliste: '/account',
    Name: "Konto",
    Komponente: () => import('../views/account/index.vue'),
    Meta: {Titel: „Kontenliste“, Rang: 1,5}
  },
  {
    //Kontopfad hinzufügen: '/accountadd',
    Name: 'accountadd',
    Komponente: () => import('../views/account/add.vue'),
    Meta: {Titel: „Konto hinzufügen“, Rang: 2,5}
  },
  {
    // Kontopfad bearbeiten: '/accountedit/:id',
    Name: 'accountedit',
    Komponente: () => import('../views/account/add.vue'),
    Meta: {Titel: „Konto bearbeiten“, Rang: 2,5}
  },
  {
    // Rollenlistenpfad: '/role',
    Name: "Rolle",
    Komponente: () => import('../views/role/index.vue'),
    Meta: {Titel: „Rollenliste“, Rang: 1,5}
  },

Zusammenfassen

Dies ist das Ende dieses Artikels zum Leeren des Caches nach der Verwendung von Keep-Alive in Vue. Weitere relevante Inhalte zum Leeren des Keep-Alive-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:
  • Die Keep-Alive-Komponente in Vue implementiert das Caching mehrstufiger verschachtelter Routen
  • Detaillierte Erläuterung des Routing Guard- und Keep-Alive-Lebenszyklus von Vue
  • Detaillierte Erklärung zu Keep-Alive in Vue
  • Keep-Alive-Multilevel-Routing-Cache-Problem in Vue
  • Detaillierte Erläuterung der Keep-Alive- und Unified-Routing-Verarbeitung von Vue3-Cache-Seiten
  • Analyse des Implementierungsprinzips von Vue Keep-Alive

<<:  Schritte zur Überprüfung der MySQL InnoDB-Row_ID-Grenzwertüberschreitung

>>:  Tutorial zur Installation der PyTorch-Entwicklungsumgebung unter Windows

Artikel empfehlen

Mysql-Datumsformatierung und komplexe Datumsbereichsabfrage

Inhaltsverzeichnis Vorwort Anwendungsszenarios fü...

So entwerfen Sie MySQL-Statistikdatentabellen

Inhaltsverzeichnis Ist eine Echtzeitaktualisierun...

So deinstallieren Sie MySQL 8.0 unter Linux

1. MySQL herunterfahren [root@localhost /]# Diens...

Der Unterschied zwischen ENTRYPOINT und CMD in Dockerfile

Im Lernprogramm zum Docker-System haben wir geler...

JavaScript BOM-Standortobjekt + Navigatorobjekt + Verlaufsobjekt

Inhaltsverzeichnis 1. Standortobjekt 1. URL 2. Ei...

Reiner CSS3-Code zur Implementierung einer laufenden Uhr

Wirkung der OperationCode-Implementierung html &l...

MySQL-Anweisungsanordnung und zusammenfassende Einführung

SQL-Anweisungen (Structured Query Language), also...

Schritte zum Erstellen eines CentOS-Containers über Docker

Inhaltsverzeichnis Vorwort Erstellen Sie ein Brüc...

So überprüfen Sie, wo die Metadatensperre in MySQL blockiert ist

So überprüfen Sie, wo die Metadatensperre in MySQ...

Lösen Sie das Problem der Installation von Theano auf Ubuntu 19

Lösung: Ändern Sie die Datei setup.py direkt in d...

CocosCreator allgemeines Framework-Design Ressourcenmanagement

Inhaltsverzeichnis Probleme mit der Ressourcenver...