Maison interface Web Voir.js Comment gérer le squelette de page et le chargement de l'animation dans Vue

Comment gérer le squelette de page et le chargement de l'animation dans Vue

Oct 15, 2023 pm 01:04 PM
加载动画 Traitement en vue Squelette de la page

Comment gérer le squelette de page et le chargement de lanimation dans Vue

Comment gérer le squelette de page et l'animation de chargement dans Vue

Dans les applications Web modernes, les utilisateurs ont des attentes élevées en matière de chargement rapide des pages. Afin de répondre à cette demande, les développeurs peuvent utiliser certains moyens techniques pour améliorer la vitesse de chargement de la page et ajouter des effets d'animation pour améliorer l'expérience utilisateur.

Vue, en tant que framework JavaScript populaire, offre de nombreuses options pour gérer les squelettes de pages et charger des animations. Certaines méthodes courantes seront présentées en détail ci-dessous et des exemples de code spécifiques seront donnés.

1. Squelette de page

Le squelette de page fait référence à l'affichage d'une mise en page et de styles de base pendant le processus de chargement de la page, afin que les utilisateurs puissent percevoir que la page est en cours de chargement et réserver de l'espace pour le contenu à venir. Cela empêche la page de devenir vide pendant le chargement et améliore l'expérience utilisateur.

Dans Vue, vous pouvez utiliser la fonction de rendu de Vue pour créer le squelette de la page. Voici un exemple :

Vue.component('skeleton', {
  render: function (createElement) {
    return createElement('div', {
      attrs: {
        class: 'skeleton'
      }
    }, [
      createElement('div', {
        attrs: {
          class: 'skeleton-header'
        }
      }),
      createElement('div', {
        attrs: {
          class: 'skeleton-content'
        }
      }),
      createElement('div', {
        attrs: {
          class: 'skeleton-footer'
        }
      })
    ])
  }
})
Copier après la connexion

Dans le code ci-dessus, nous créons un composant Vue global nommé "skeleton", qui utilise une fonction de rendu pour générer la structure HTML du squelette de la page. Dans cet exemple, nous créons un squelette contenant un en-tête, un contenu et un pied de page et le stylisons à l'aide de noms de classes CSS.

Ensuite, dans le composant qui doit afficher le squelette de la page, vous pouvez utiliser le rendu conditionnel pour déterminer quand afficher le squelette de la page. Voici un exemple :

<template>
  <div>
    <div v-if="loading">
      <skeleton></skeleton>
    </div>
    <div v-else>
      <!-- 页面内容 -->
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      loading: true
    }
  },
  mounted() {
    // 模拟异步数据加载
    setTimeout(() => {
      this.loading = false
    }, 2000)
  }
}
</script>
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons l'instruction de rendu conditionnel de Vue v-if pour déterminer quand afficher le squelette de la page. Lorsque le chargement est vrai, la page squelette est affichée ; lorsque le chargement est faux, le contenu réel de la page est affiché. Dans le hook de cycle de vie monté, nous simulons le processus de chargement de données asynchrone et définissons la valeur de chargement sur false après 2 secondes, comme indiqué dans l'exemple.

Grâce à la méthode ci-dessus, nous pouvons réaliser l'affichage du squelette pendant le processus de chargement de la page et améliorer l'expérience utilisateur.

2. Animation de chargement

L'animation de chargement consiste à transmettre les informations que la page est en train de charger à l'utilisateur et à fournir une sorte de retour visuel. Dans Vue, le chargement de l'animation peut être réalisé via une animation CSS, des bibliothèques tierces ou les effets de transition de Vue.

  1. Animation CSS

L'utilisation de l'animation CSS est l'un des moyens les plus simples et les plus courants. Par exemple, nous pouvons définir une animation de rotation :

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.loading {
  animation: spin 1s infinite linear;
}
Copier après la connexion

Ensuite, ajoutez le nom de la classe CSS sur l'élément qui doit afficher l'animation de chargement, comme indiqué ci-dessous :

<template>
  <div>
    <div v-if="loading" class="loading"></div>
    <div v-else>
      <!-- 页面内容 -->
    </div>
  </div>
</template>
Copier après la connexion

Dans l'exemple ci-dessus, lorsque le chargement est vrai, un message avec l'élément "loading", qui déclenchera l'animation CSS.

  1. Bibliothèques tierces

En plus d'utiliser des animations CSS, nous pouvons également utiliser certaines bibliothèques tierces pour obtenir des effets d'animation de chargement plus complexes. Par exemple, utilisez la bibliothèque "vue-spinner" pour afficher une animation de chargement d'une icône tournante :

Tout d'abord, installez la bibliothèque "vue-spinner" :

npm install vue-spinner --save
Copier après la connexion

Ensuite, importez et utilisez la bibliothèque dans le composant qui doit utilisez l'animation de chargement :

<template>
  <div>
    <div v-if="loading">
      <spinner></spinner>
    </div>
    <div v-else>
      <!-- 页面内容 -->
    </div>
  </div>
</template>

<script>
import Spinner from 'vue-spinner'

export default {
  components: {
    Spinner
  },
  data() {
    return {
      loading: true
    }
  },
  mounted() {
    // 模拟异步数据加载
    setTimeout(() => {
      this.loading = false
    }, 2000)
  }
}
</script>
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons le rendu conditionnel pour déterminer quand afficher l'animation de chargement dans le composant qui doit afficher l'animation de chargement. Lorsque le chargement est vrai, affichez un composant "spinner", qui affichera une icône de chargement rotative. Lorsque le chargement est faux, le contenu réel de la page est affiché.

En résumé, Vue propose une variété de méthodes pour gérer les squelettes de page et charger des animations. En utilisant les fonctions de rendu et le rendu conditionnel, nous pouvons afficher le squelette de la page ; et en utilisant l'animation CSS et des bibliothèques tierces, nous pouvons obtenir divers effets d'animation de chargement sympas. En utilisant ces moyens techniques, nous pouvons améliorer la vitesse de chargement des pages des applications Web et offrir aux utilisateurs une meilleure expérience.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la méthode de conversion des chaînes Vue.js en objets? Quelle est la méthode de conversion des chaînes Vue.js en objets? Apr 07, 2025 pm 09:18 PM

L'utilisation de la chaîne JSON.Parse () à l'objet est la plus sûre et la plus efficace: assurez-vous que les chaînes sont conformes aux spécifications JSON et évitez les erreurs courantes. Utilisez Try ... Catch pour gérer les exceptions pour améliorer la robustesse du code. Évitez d'utiliser la méthode EVAL (), qui présente des risques de sécurité. Pour les énormes cordes JSON, l'analyse de fouet ou l'analyse asynchrone peut être envisagée pour optimiser les performances.

Vue est-elle utilisée pour le frontend ou le backend? Vue est-elle utilisée pour le frontend ou le backend? Apr 03, 2025 am 12:07 AM

Vue.js est principalement utilisé pour le développement frontal. 1) Il s'agit d'un cadre JavaScript léger et flexible axé sur la construction d'interfaces utilisateur et d'applications à une seule page. 2) Le cœur de Vue.js est son système de données réactif, et la vue est automatiquement mise à jour lorsque les données changent. 3) Il prend en charge le développement des composants et l'interface utilisateur peut être divisée en composants indépendants et réutilisables.

Vue.js est-il difficile à apprendre? Vue.js est-il difficile à apprendre? Apr 04, 2025 am 12:02 AM

Vue.js n'est pas difficile à apprendre, en particulier pour les développeurs avec une fondation JavaScript. 1) Sa conception progressive et son système réactif simplifient le processus de développement. 2) Le développement basé sur les composants rend la gestion du code plus efficace. 3) Les exemples d'utilisation montrent une utilisation de base et avancée. 4) Les erreurs courantes peuvent être déboguées via Vuedevtools. 5) L'optimisation des performances et les meilleures pratiques, telles que l'utilisation des attributs V-IF / V et clés, peuvent améliorer l'efficacité de l'application.

Vue.js vs react: Considérations spécifiques au projet Vue.js vs react: Considérations spécifiques au projet Apr 09, 2025 am 12:01 AM

Vue.js convient aux projets de petite et moyenne taille et aux itérations rapides, tandis que React convient aux applications grandes et complexes. 1) Vue.js est facile à utiliser et convient aux situations où l'équipe est insuffisante ou l'échelle du projet est petite. 2) React a un écosystème plus riche et convient aux projets avec des performances élevées et des besoins fonctionnels complexes.

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Comment utiliser les tremblements d'arbres dans Vue.js pour supprimer le code inutilisé? Comment utiliser les tremblements d'arbres dans Vue.js pour supprimer le code inutilisé? Mar 18, 2025 pm 12:45 PM

L'article discute de l'utilisation des tremblements d'arbre dans Vue.js pour supprimer le code inutilisé, des détails de configuration avec des modules ES6, une configuration de webpack et des meilleures pratiques pour une implémentation efficace. Count de chargement: 159

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

See all articles