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

王林
Libérer: 2023-10-15 16:31:47
original
1130 Les gens l'ont consulté

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

Comment gérer le squelette et l'animation de chargement de la page dans Vue nécessite des exemples de code spécifiques

Lors du développement d'applications Web, la vitesse de chargement de la page est un facteur très important. Les pages à chargement rapide peuvent non seulement améliorer l'expérience utilisateur, mais également augmenter efficacement le taux de rétention des utilisateurs. Dans le framework Vue, nous pouvons optimiser le processus de chargement des pages et offrir aux utilisateurs une meilleure expérience en utilisant des squelettes de page et des animations de chargement.

Le squelette de page fait référence à la fourniture d'un cadre d'interface préconçu pour remplir la zone vide de la page avant le chargement des données de la page, afin que les utilisateurs puissent avoir une compréhension générale de la structure et de la mise en page de la page. L'animation de chargement montre un effet dynamique à l'utilisateur pendant le processus de chargement des données de la page pour rappeler à l'utilisateur que la page est en cours de chargement et augmenter sa patience et son temps d'attente.

Ci-dessous, j'utiliserai des exemples de code pour présenter comment gérer le squelette de la page et l'animation de chargement dans Vue.

Tout d'abord, nous devons installer le plug-in vue-content-loader, qui peut être utilisé pour générer le code de l'écran squelette. Exécutez la commande suivante dans le terminal : vue-content-loader插件,该插件可以用来生成骨架屏的代码。在终端中运行以下命令:

npm install vue-content-loader
Copier après la connexion

接下来,在需要添加骨架屏的组件中,引入并注册vue-content-loader

// 引入vue-content-loader
import ContentLoader from 'vue-content-loader'

export default {
  // 注册ContentLoader组件
  components: {
    ContentLoader
  },
  // ...
}
Copier après la connexion

接下来,在模板中使用ContentLoader组件,并定义骨架屏的样式和布局:

<template>
  <div>
    <ContentLoader
      :width="300"
      :height="200"
      primaryColor="#f3f3f3"
      secondaryColor="#ecebeb"
    >
      <rect x="0" y="0" rx="5" ry="5" :width="300" :height="10"/>
      <rect x="0" y="20" rx="5" ry="5" :width="250" :height="10"/>
      <rect x="0" y="40" rx="5" ry="5" :width="200" :height="10"/>
      <rect x="0" y="60" rx="5" ry="5" :width="150" :height="10"/>
    </ContentLoader>
  </div>
</template>
Copier après la connexion

上述代码中,我们使用了ContentLoader组件来创建一个300x200px的骨架屏,使用rect元素来定义骨架屏的样式和布局。primaryColor用来定义主要颜色,secondaryColor用来定义次要颜色。

下面,我们来介绍如何在Vue中添加加载动画。

首先,我们可以使用Vue提供的v-if指令来控制加载动画的显示与隐藏。我们可以通过在数据中定义一个isLoading属性来控制加载动画的显示与隐藏。当数据加载完成后,将isLoading属性设为false,加载动画将消失。

接下来,在需要添加加载动画的组件中,可以使用Vue的计算属性来根据isLoading的值来显示或隐藏加载动画。

export default {
  data() {
    return {
      isLoading: true, // 数据是否正在加载中
      data: null, // 数据
    }
  },
  computed: {
    showLoadingAnimation() {
      return this.isLoading ? 'loading-animation' : 'data-content'
    },
  },
  // ...
}
Copier après la connexion

在模板中,我们可以使用v-if指令来根据计算属性showLoadingAnimation的值来控制加载动画的显示与隐藏。

<template>
  <div>
    <div v-if="showLoadingAnimation === 'loading-animation'">
      <p>加载中...</p>
      <!-- 这里可以使用第三方库来添加加载动画 -->
    </div>
    <div v-else-if="showLoadingAnimation === 'data-content'">
      <!-- 数据内容 -->
    </div>
  </div>
</template>
Copier après la connexion

在上述代码中,我们用div元素包裹加载动画,根据showLoadingAnimationrrreee

Ensuite, introduisez et enregistrez vue-content-loader dans le composant où vous devez ajouter l'écran squelette :

rrreee

Ensuite, utilisez ContentLoader et définissons le style et la disposition de l'écran squelette : 🎜rrreee🎜Dans le code ci-dessus, nous utilisons le composant ContentLoader pour créer un écran squelette de 300x200px, en utilisant rect pour définir le style et la disposition de l'écran squelette. <code>primaryColor est utilisé pour définir la couleur primaire, et secondaryColor est utilisé pour définir la couleur secondaire. 🎜🎜Maintenant, présentons comment ajouter une animation de chargement dans Vue. 🎜🎜Tout d'abord, nous pouvons utiliser l'instruction v-if fournie par Vue pour contrôler l'affichage et le masquage de l'animation de chargement. Nous pouvons contrôler l'affichage et le masquage de l'animation de chargement en définissant un attribut isLoading dans les données. Lorsque les données sont chargées, définissez la propriété isLoading sur false et l'animation de chargement disparaîtra. 🎜🎜Ensuite, dans le composant qui doit ajouter une animation de chargement, vous pouvez utiliser les propriétés calculées de Vue pour afficher ou masquer l'animation de chargement en fonction de la valeur de isLoading. 🎜rrreee🎜Dans le modèle, nous pouvons utiliser la directive v-if pour contrôler l'affichage et le masquage de l'animation de chargement en fonction de la valeur de l'attribut calculé showLoadingAnimation. 🎜rrreee🎜Dans le code ci-dessus, nous utilisons l'élément div pour envelopper l'animation de chargement et décidons s'il faut afficher l'animation de chargement ou le contenu des données en fonction de la valeur de showLoadingAnimation. 🎜🎜Pour résumer, en utilisant les plug-ins et les instructions fournis par le framework Vue, nous pouvons facilement ajouter des écrans squelettes et des animations de chargement à la page, améliorant ainsi la vitesse de chargement de la page et l'expérience utilisateur. J'espère que cet article pourra vous aider à comprendre comment gérer le squelette et l'animation de chargement de la page 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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal