Heim > Web-Frontend > View.js > So verwenden Sie die Keep-Alive-Komponente, um in einem Vue-Projekt keinen Aktualisierungseffekt zu erzielen

So verwenden Sie die Keep-Alive-Komponente, um in einem Vue-Projekt keinen Aktualisierungseffekt zu erzielen

王林
Freigeben: 2023-07-21 22:09:14
Original
1027 Leute haben es durchsucht

So verwenden Sie die Keep-Alive-Komponente in einem Vue-Projekt, um einen aktualisierungsfreien Effekt zu erzielen

In einem Vue-Projekt müssen wir häufig die Seite wechseln, aber den Seitenstatus beibehalten. Zu diesem Zeitpunkt können wir die Keep-Alive-Komponente von Vue verwenden, um einen aktualisierungsfreien Effekt zu erzielen. Die Keep-Alive-Komponente ist eine von Vue bereitgestellte abstrakte Komponente, die zum Zwischenspeichern von Komponenteninstanzen verwendet wird, um wiederholtes Rendern zu vermeiden.

Als nächstes werde ich anhand eines einfachen Beispiels vorstellen, wie man mit Keep-Alive einen erfrischungsfreien Effekt erzielt.

Zuerst müssen wir ein Vue-Projekt erstellen und zwei Seiten im Projekt erstellen, nämlich „Home“ und „Info“.

Auf der Startseite zeigen wir einen Zähler mit einem Anfangswert von 0 an. Jedes Mal, wenn auf die Schaltfläche geklickt wird, erhöht sich der Zählerwert um 1.

<template>
  <div>
    <h2>Home页面</h2>
    <p>计数器: {{ count }}</p>
    <button @click="increment">增加</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    increment() {
      this.count++;
    }
  }
};
</script>
Nach dem Login kopieren

Auf der Seite „Info“ zeigen wir den Wert eines Zählers an und bieten eine Zurück-Schaltfläche, um zur Startseite zurückzukehren.

<template>
  <div>
    <h2>About页面</h2>
    <p>计数器的值: {{ count }}</p>
    <button @click="goBack">返回</button>
  </div>
</template>

<script>
export default {
  computed: {
    count() {
      return this.$store.state.count;
    }
  },
  methods: {
    goBack() {
      this.$router.go(-1);
    }
  }
};
</script>
Nach dem Login kopieren

Als nächstes müssen wir Keep-Alive-Komponenten zu den Seiten „Home“ und „Info“ in der Routing-Konfiguration hinzufügen.

import Vue from 'vue';
import Router from 'vue-router';
import Home from '@/views/Home.vue';
import About from '@/views/About.vue';

Vue.use(Router);

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: () => import('@/views/Home.vue'),
      meta: {
        keepAlive: true // 设置keep-alive为true
      }
    },
    {
      path: '/about',
      name: 'About',
      component: () => import('@/views/About.vue'),
      meta: {
        keepAlive: false // 设置keep-alive为false
      }
    }
  ]
});
Nach dem Login kopieren

Hier setzen wir den Keep-Alive der Startseite auf „true“, wodurch der Cache aktiviert wird, und den Keep-Alive der „Info“-Seite auf „false“, wodurch der Cache deaktiviert wird.

Schließlich müssen wir die Keep-Alive-Komponente zur App.vue-Komponente hinzufügen und den Cache entsprechend der Keep-Alive-Konfiguration der Route dynamisch ein- oder ausschalten.

<template>
  <div id="app">
    <keep-alive>
      <router-view :key="$route.fullPath"></router-view>
    </keep-alive>
  </div>
</template>
Nach dem Login kopieren

Mit der obigen Konfiguration können wir jetzt auf der Startseite auf die Schaltfläche „Erhöhen“ klicken, der Zählerwert wird erhöht, dann zur Info-Seite springen und dann zur Startseite zurückkehren, der Zählerwert bleibt unverändert .

Zusammenfassung:

Anhand der obigen Beispiele können wir sehen, dass der aktualisierungsfreie Effekt mithilfe der Keep-Alive-Komponente leicht erreicht werden kann. Durch die Konfiguration des Metaattributs der Route können wir die Caching-Strategie der Komponente flexibel steuern. Keep-Alive-Komponenten sind eine gute Wahl, wenn wir den Zustand der Seite aufrechterhalten oder wiederholte Renderings verhindern müssen.

Ich hoffe, dass die Beispiele in diesem Artikel Ihnen helfen können, besser zu verstehen, wie Sie Keep-Alive-Komponenten verwenden, um aktualisierungsfreie Effekte in Vue-Projekten zu erzielen. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht zur Diskussion.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Keep-Alive-Komponente, um in einem Vue-Projekt keinen Aktualisierungseffekt zu erzielen. 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