Maison >interface Web >Voir.js >Comment utiliser keep-alive dans vue pour améliorer l'efficacité du développement front-end

Comment utiliser keep-alive dans vue pour améliorer l'efficacité du développement front-end

王林
王林original
2023-07-21 09:01:30661parcourir

Comment utiliser keep-alive dans Vue pour améliorer l'efficacité du développement front-end

Les performances du développement front-end ont toujours été l'un des objectifs des développeurs. Afin d'améliorer l'expérience utilisateur et la vitesse de chargement des pages, nous devons souvent réfléchir à la manière d'optimiser le rendu frontal. En tant que framework frontal populaire, Vue fournit des composants persistants pour résoudre les problèmes de performances des composants inactifs. Cet article présentera l'utilisation de keep-alive et montrera comment il peut améliorer l'efficacité du développement front-end dans Vue à travers des exemples de code.

  1. Le rôle et le principe du keep-alive

Dans Vue, la destruction et la recréation de composants sont un processus qui prend du temps. Si nous avons des composants inactifs qui ne sont pas fréquemment utilisés entre les commutateurs ou les pages vues, mais qui sont recréés à chaque fois que nous changeons, cela entraînera une dégradation des performances. Le composant keep-alive peut mettre en cache les instances de ces composants inactifs, évitant ainsi toute destruction et recréation inutiles et améliorant les performances de rendu.

En principe, keep-alive met en cache le DOM virtuel des composants inactifs en mémoire et restaure directement l'instance mise en cache lorsque le composant bascule sans la recréer. Cela peut réduire le temps et la surcharge de rendu des pages, améliorant ainsi l'efficacité du développement front-end.

  1. Utiliser keep-alive

Utiliser keep-alive dans Vue est très simple, il suffit d'envelopper le composant que vous souhaitez mettre en cache à l'extérieur du composant. Voici un exemple :

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

<script>
export default {
  name: 'App',
}
</script>

Dans le code ci-dessus, nous utilisons la balise 7c9485ff8c3cba5ae9343ed63c2dc3f7 en dehors de la balise 975b587bf85a482ea10b0a28848e78a4, ce qui signifie que nous mettrons en cache les instances de 975b587bf85a482ea10b0a28848e78a4. 975b587bf85a482ea10b0a28848e78a4标签外部使用了7c9485ff8c3cba5ae9343ed63c2dc3f7标签,意味着我们将缓存975b587bf85a482ea10b0a28848e78a4的实例。

  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>
  1. keep-alive的生命周期

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

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

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

    Attributs de keep-alive

    En plus des méthodes d'utilisation de base, keep-alive fournit également certains attributs qui peuvent contrôler les composants mis en cache de manière plus flexible.

    include : utilisé pour spécifier le nom du composant à mettre en cache, prend en charge les chaînes ou les expressions régulières. Par exemple, include="Home,About" signifie que seuls les composants nommés "Home" et "About" seront mis en cache.

    exclude : utilisé pour spécifier les noms de composants qui n'ont pas besoin d'être mis en cache. Il prend également en charge les chaînes ou les expressions régulières. Par exemple, exclude="Login,Register" signifie que les composants nommés « Login » et « Register » ne sont pas mis en cache.

    🎜max : utilisé pour spécifier le nombre maximum de composants pour le cache. Lorsque le nombre de composants mis en cache dépasse la limite, le composant mis en cache le plus ancien sera détruit. Par exemple, max="10" signifie que le cache maximum est de 10 composants. 🎜
🎜Voici un exemple qui montre comment utiliser les attributs include et exclude : 🎜
<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>
    🎜keep-alive life cycle 🎜🎜🎜keep-alive lui-même possède également des fonctions de hook de cycle de vie, grâce auxquelles vous pouvez surveiller les changements d'état des composants du cache. Les principales fonctions de hook du cycle de vie sont : 🎜
    🎜activated : appelée lorsque le composant de cache est activé, généralement déclenchée lorsque le composant entre dans le cache pour la première fois ou est restauré à partir du cache. 🎜🎜deactivated : Appelé lorsque le composant de cache est désactivé, généralement déclenché lorsque le composant quitte le cache ou est détruit du cache. 🎜
🎜Voici un exemple montrant comment utiliser les fonctions hook activées et désactivées : 🎜rrreee🎜En écoutant ces fonctions hook de cycle de vie, nous pouvons gérer certaines des événements spécifiques, tels que l'exécution de certaines actions lorsqu'un composant de cache est réactivé. 🎜🎜Résumé : 🎜🎜L'utilisation de composants keep-alive est un moyen efficace d'optimiser les performances des applications Vue. En mettant en cache les instances de composants inactifs, nous pouvons éviter la destruction et la recréation inutiles, améliorant ainsi l'efficacité du développement front-end. L'utilisation raisonnable de keep-alive dans l'application, combinée aux attributs associés et aux fonctions de hook de cycle de vie, peut mieux optimiser le rendu des pages et l'expérience utilisateur. 🎜🎜J'espère que cet article pourra aider tout le monde à comprendre et à utiliser keep-alive dans Vue. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn