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.
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.
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 <keep-alive>
en dehors de la balise <router-view>
, ce qui signifie que nous mettrons en cache les instances de <router-view>
. <router-view>
标签外部使用了<keep-alive>
标签,意味着我们将缓存<router-view>
的实例。
除了基本的使用方法外,keep-alive还提供了一些属性,可以更灵活地控制缓存的组件。
include
:用于指定要缓存的组件名称,支持字符串或正则表达式。例如,include="Home,About"
表示只缓存名称为"Home"和"About"的组件。exclude
:用于指定不需要缓存的组件名称,同样支持字符串或正则表达式。例如,exclude="Login,Register"
表示不缓存名称为"Login"和"Register"的组件。max
:用于指定缓存的最大组件数量。当缓存的组件数量超过限制时,最早缓存的组件将被销毁。例如,max="10"
表示最大缓存10个组件。下面是一个示例,演示如何使用include
和exclude
属性:
<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>
keep-alive本身也有生命周期钩子函数,可以通过这些钩子函数来监听缓存组件的状态变化。主要的生命周期钩子函数有:
activated
:当缓存组件被激活时调用,通常是在组件第一次进入缓存或者从缓存中恢复时触发。deactivated
:当缓存组件被停用时调用,通常是在组件离开缓存或者从缓存中销毁时触发。下面是一个示例,展示如何使用activated
和deactivated
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. 🎜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>
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. 🎜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!