Heim > Web-Frontend > View.js > So verwenden Sie Keep-Alive in Vue, um die Effizienz der Front-End-Entwicklung zu verbessern

So verwenden Sie Keep-Alive in Vue, um die Effizienz der Front-End-Entwicklung zu verbessern

王林
Freigeben: 2023-07-21 09:01:30
Original
683 Leute haben es durchsucht

So nutzen Sie Keep-Alive in Vue, um die Effizienz der Front-End-Entwicklung zu verbessern

Die Leistung der Front-End-Entwicklung war schon immer einer der Schwerpunkte von Entwicklern. Um das Benutzererlebnis und die Seitenladegeschwindigkeit zu verbessern, müssen wir oft darüber nachdenken, wie wir das Front-End-Rendering optimieren können. Als beliebtes Front-End-Framework bietet Vue Keep-Alive-Komponenten, um die Leistungsprobleme inaktiver Komponenten zu lösen. In diesem Artikel wird die Verwendung von Keep-Alive vorgestellt und anhand von Codebeispielen gezeigt, wie es die Effizienz der Front-End-Entwicklung in Vue verbessern kann.

  1. Die Rolle und das Prinzip des Keep-Alive

In Vue ist die Zerstörung und Neuerstellung von Komponenten ein zeitaufwändiger Prozess. Wenn wir einige inaktive Komponenten haben, die zwischen Wechseln oder Seitenaufrufen nicht häufig verwendet werden, aber bei jedem Wechsel neu erstellt werden, führt dies zu Leistungseinbußen. Die Keep-Alive-Komponente kann Instanzen dieser inaktiven Komponenten zwischenspeichern, wodurch unnötige Zerstörung und Neuerstellung vermieden und die Rendering-Leistung verbessert wird.

Im Prinzip speichert Keep-Alive das virtuelle DOM inaktiver Komponenten im Speicher zwischen und stellt die zwischengespeicherte Instanz direkt wieder her, wenn die Komponente wechselt, ohne sie neu zu erstellen. Dies kann die Zeit und den Aufwand für das Rendern von Seiten reduzieren und dadurch die Effizienz der Front-End-Entwicklung verbessern.

  1. Keep-Alive verwenden

Die Verwendung von Keep-Alive in Vue ist sehr einfach. Wickeln Sie einfach die Komponente ein, die Sie zwischenspeichern möchten, außerhalb der Komponente. Hier ist ein Beispiel:

<template>
  <div>
    <h1>首页</h1>
    <keep-alive>
      <router-view></router-view>
    </keep-alive>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>
Nach dem Login kopieren

Im obigen Code verwenden wir das Tag <keep-alive> außerhalb des Tags <router-view>, was Folgendes bedeutet Wir werden Instanzen von <router-view> zwischenspeichern. <router-view>标签外部使用了<keep-alive>标签,意味着我们将缓存<router-view>的实例。

  1. keep-alive的属性

除了基本的使用方法外,keep-alive还提供了一些属性,可以更灵活地控制缓存的组件。

  • include:用于指定要缓存的组件名称,支持字符串或正则表达式。例如,include="Home,About"表示只缓存名称为"Home"和"About"的组件。
  • exclude:用于指定不需要缓存的组件名称,同样支持字符串或正则表达式。例如,exclude="Login,Register"表示不缓存名称为"Login"和"Register"的组件。
  • max:用于指定缓存的最大组件数量。当缓存的组件数量超过限制时,最早缓存的组件将被销毁。例如,max="10"表示最大缓存10个组件。

下面是一个示例,演示如何使用includeexclude属性:

<template>
  <div>
    <h1>首页</h1>
    <keep-alive :include="['Home', 'About']" :exclude="['Login', 'Register']">
      <router-view></router-view>
    </keep-alive>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>
Nach dem Login kopieren
  1. keep-alive的生命周期

keep-alive本身也有生命周期钩子函数,可以通过这些钩子函数来监听缓存组件的状态变化。主要的生命周期钩子函数有:

  • activated:当缓存组件被激活时调用,通常是在组件第一次进入缓存或者从缓存中恢复时触发。
  • deactivated:当缓存组件被停用时调用,通常是在组件离开缓存或者从缓存中销毁时触发。

下面是一个示例,展示如何使用activateddeactivated

    Attribute von Keep-Alive

    Zusätzlich zu den grundlegenden Verwendungsmethoden bietet Keep-Alive auch einige Attribute, mit denen zwischengespeicherte Komponenten flexibler gesteuert werden können.

      include: wird verwendet, um den Namen der zwischenzuspeichernden Komponente anzugeben, unterstützt Zeichenfolgen oder reguläre Ausdrücke. Beispielsweise bedeutet include="Home,About", dass nur Komponenten mit den Namen „Home“ und „About“ zwischengespeichert werden.

      exclude: wird verwendet, um Komponentennamen anzugeben, die nicht zwischengespeichert werden müssen. Es unterstützt auch Zeichenfolgen oder reguläre Ausdrücke. Beispielsweise bedeutet exclude="Login,Register", dass Komponenten mit den Namen „Login“ und „Register“ nicht zwischengespeichert werden.

      🎜max: wird verwendet, um die maximale Anzahl von Komponenten für den Cache anzugeben. Wenn die Anzahl der zwischengespeicherten Komponenten den Grenzwert überschreitet, wird die älteste zwischengespeicherte Komponente zerstört. Beispielsweise bedeutet max="10", dass der maximale Cache 10 Komponenten beträgt. 🎜
    🎜Hier ist ein Beispiel, das zeigt, wie die Attribute include und exclude verwendet werden: 🎜
    <template>
      <div>
        <h1>首页</h1>
        <keep-alive :include="['Home', 'About']" @activated="onActivated" @deactivated="onDeactivated">
          <router-view></router-view>
        </keep-alive>
      </div>
    </template>
    
    <script>
    export default {
      name: 'App',
      methods: {
        onActivated() {
          console.log('组件被激活')
        },
        onDeactivated() {
          console.log('组件被停用')
        },
      },
    }
    </script>
    Nach dem Login kopieren
      🎜keep-alive life Cycle 🎜🎜🎜Keep-Alive selbst verfügt auch über Life-Cycle-Hook-Funktionen, mit denen Sie die Statusänderungen von Cache-Komponenten überwachen können. Die wichtigsten Lebenszyklus-Hook-Funktionen sind: 🎜
      🎜aktiviert: Wird aufgerufen, wenn die Cache-Komponente aktiviert wird, normalerweise ausgelöst, wenn die Komponente zum ersten Mal in den Cache gelangt oder aus dem Cache wiederhergestellt wird. 🎜🎜deaktiviert: Wird aufgerufen, wenn die Cache-Komponente deaktiviert ist, normalerweise ausgelöst, wenn die Komponente den Cache verlässt oder aus dem Cache zerstört wird. 🎜
    🎜Hier ist ein Beispiel, das zeigt, wie die Hook-Funktionen activated und deactivated verwendet werden: 🎜rrreee🎜Indem wir uns diese Lifecycle-Hook-Funktionen anhören, können wir einiges bewältigen bestimmte Ereignisse, wie z. B. das Ausführen bestimmter Aktionen, wenn eine Cache-Komponente reaktiviert wird. 🎜🎜Zusammenfassung: 🎜🎜Die Verwendung von Keep-Alive-Komponenten ist eine effektive Möglichkeit, die Leistung von Vue-Anwendungen zu optimieren. Durch das Zwischenspeichern von Instanzen inaktiver Komponenten können wir unnötige Zerstörung und Neuerstellung vermeiden und so die Effizienz der Front-End-Entwicklung verbessern. Durch die sinnvolle Verwendung von Keep-Alive in der Anwendung in Kombination mit zugehörigen Attributen und Lebenszyklus-Hook-Funktionen können das Seitenrendering und die Benutzererfahrung besser optimiert werden. 🎜🎜Ich hoffe, dieser Artikel kann jedem helfen, Keep-Alive in Vue zu verstehen und zu verwenden. 🎜

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie Keep-Alive in Vue, um die Effizienz der Front-End-Entwicklung zu verbessern. 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