Maison interface Web Voir.js Comment afficher la progression du chargement des images via Vue ?

Comment afficher la progression du chargement des images via Vue ?

Aug 27, 2023 am 08:28 AM
vue 图片 Progression du chargement

Comment afficher la progression du chargement des images via Vue ?

Comment afficher la progression du chargement des images via Vue ?

Dans le développement web, le chargement d'images est une opération très courante. Lorsqu'un grand nombre d'images doivent être chargées dans une page Web, un problème est souvent rencontré : les utilisateurs ne peuvent pas connaître avec précision la progression du chargement des images, en particulier lorsque la vitesse du réseau est lente, ce qui causera des problèmes aux utilisateurs. Par conséquent, afin d'améliorer l'expérience utilisateur, nous pouvons utiliser Vue pour afficher la progression du chargement des images.

Dans Vue, nous pouvons utiliser les événements onload et onerror de la balise <img src="/static/imghw/default1.png" data-src="src" class="lazy" alt="Comment afficher la progression du chargement des images via Vue ?" > pour déterminer l'état de chargement de l'image. Lorsque l'image est chargée avec succès, l'événement onload est déclenché ; lorsque le chargement de l'image échoue, l'événement onerror est déclenché. À l'aide de ces deux événements, nous pouvons calculer la progression du chargement de l'image et afficher la progression à l'utilisateur. <img src="/static/imghw/default1.png" data-src="src" class="lazy" alt="Comment afficher la progression du chargement des images via Vue ?" >标签的onloadonerror事件来判断图片的加载情况。当图片加载成功时,触发onload事件;当图片加载失败时,触发onerror事件。利用这两个事件,我们可以计算出图片加载的进度,并将进度显示给用户。

首先,让我们创建一个Vue组件,命名为ImageProgress。在组件中,我们可以定义一个计算属性progress来计算图片的加载进度,并将进度显示给用户。同时,还可以定义一个loadCount属性来记录已加载的图片数量。

<template>
  <div>
    <img src="/static/imghw/default1.png"  data-src="src"  class="lazy" 
      v-for="(src, index) in imageSources"
      :
      @load="onLoad(index)"
      @error="onError(index)"
      style="display: none;"
    />
    <div v-if="total !== 0">
      图片加载进度:{{ (loadCount / total * 100).toFixed(2) }}%
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      imageSources: [
        // 图片地址列表
        // 可以根据需要添加和修改图片地址
      ],
      total: 0, // 总图片数量
      loadCount: 0, // 已加载的图片数量
    };
  },
  computed: {
    progress() {
      if (this.total === 0) {
        return 0;
      }
      return this.loadCount / this.total * 100;
    },
  },
  methods: {
    onLoad(index) {
      this.loadCount++;
      if (this.loadCount === this.total) {
        console.log('所有图片加载完成');
      }
    },
    onError(index) {
      console.error(`第${index + 1}张图片加载失败`);
    },
  },
  mounted() {
    this.total = this.imageSources.length;
  },
};
</script>
Copier après la connexion

上面的代码中,我们问题定义了一个imageSources数组,其中包含了我们需要加载的图片地址列表。total属性记录了总图片数量,loadCount属性记录了已加载的图片数量。

在模板中,我们使用v-for指令遍历imageSources数组,为每个图片元素添加onloadonerror事件监听器,并将图片设置为隐藏状态。当onload事件被触发时,调用onLoad方法来更新已加载图片的数量;当onerror事件被触发时,调用onError方法来显示加载失败的图片。

最后,我们在模板中使用computed属性progress来计算图片加载的进度,并将进度显示给用户。

使用ImageProgress组件时,只需要在父组件中引入,并且将需要加载的图片地址添加到imageSources

Tout d'abord, créons un composant Vue nommé ImageProgress. Dans le composant, nous pouvons définir un attribut calculé progress pour calculer la progression du chargement de l'image et afficher la progression à l'utilisateur. En parallèle, vous pouvez également définir un attribut loadCount pour enregistrer le nombre d'images chargées.

<template>
  <div>
    <ImageProgress></ImageProgress>
    <!-- 添加需要加载的图片地址 -->
    <!-- <ImageProgress :imageSources="imageSources"></ImageProgress> -->
  </div>
</template>

<script>
import ImageProgress from './ImageProgress.vue'; // 引入ImageProgress组件

export default {
  components: {
    ImageProgress,
  },
  data() {
    return {
      // 图片地址列表
      imageSources: [
        '图片地址1',
        '图片地址2',
        '图片地址3',
        // ...
      ],
    };
  },
};
</script>
Copier après la connexion
Dans le code ci-dessus, nous définissons un tableau imageSources, qui contient une liste d'adresses d'images que nous devons charger. L'attribut total enregistre le nombre total d'images et l'attribut loadCount enregistre le nombre d'images chargées. 🎜🎜Dans le modèle, nous utilisons la directive v-for pour parcourir le tableau imageSources et ajouter onload et onerror écouteur d'événement et définissez l'image à l'état caché. Lorsque l'événement <code>onload est déclenché, appelez la méthode onLoad pour mettre à jour le nombre d'images chargées ; lorsque l'événement onerror est déclenché, appelez le onload. code> onError pour afficher les images dont le chargement a échoué. 🎜🎜Enfin, nous utilisons l'attribut calculed progress dans le modèle pour calculer la progression du chargement de l'image et afficher la progression à l'utilisateur. 🎜🎜Lorsque vous utilisez le composant ImageProgress, il vous suffit de l'introduire dans le composant parent et d'ajouter l'adresse de l'image à charger dans le tableau imageSources, comme indiqué ci-dessous : 🎜 rrreee 🎜Ce qui précède explique comment utiliser Vue pour afficher la progression du chargement de l'image. De cette façon, les utilisateurs peuvent voir clairement la progression du chargement de l’image, ce qui améliore l’expérience utilisateur. Dans le même temps, cette méthode peut également être appliquée à d'autres ressources qui doivent être chargées, telles que l'audio, la vidéo, etc. J'espère que cet article vous sera utile ! 🎜

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

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)

Comment utiliser les graphiques électroniques dans Vue Comment utiliser les graphiques électroniques dans Vue May 09, 2024 pm 04:24 PM

L'utilisation d'ECharts dans Vue facilite l'ajout de fonctionnalités de visualisation de données à votre application. Les étapes spécifiques incluent : l'installation des packages ECharts et Vue ECharts, l'introduction d'ECharts, la création de composants de graphique, la configuration des options, l'utilisation de composants de graphique, la création de graphiques réactifs aux données Vue, l'ajout de fonctionnalités interactives et l'utilisation avancée.

Le rôle de l'export par défaut dans vue Le rôle de l'export par défaut dans vue May 09, 2024 pm 06:48 PM

Question : Quel est le rôle de l'exportation par défaut dans Vue ? Description détaillée : export default définit l'export par défaut du composant. Lors de l'importation, les composants sont automatiquement importés. Simplifiez le processus d’importation, améliorez la clarté et évitez les conflits. Couramment utilisé pour exporter des composants individuels, en utilisant à la fois les exportations nommées et par défaut, et pour enregistrer des composants globaux.

Comment utiliser la fonction map dans vue Comment utiliser la fonction map dans vue May 09, 2024 pm 06:54 PM

La fonction map Vue.js est une fonction intégrée d'ordre supérieur qui crée un nouveau tableau où chaque élément est le résultat transformé de chaque élément du tableau d'origine. La syntaxe est map(callbackFn), où callbackFn reçoit chaque élément du tableau comme premier argument, éventuellement l'index comme deuxième argument, et renvoie une valeur. La fonction map ne modifie pas le tableau d'origine.

Le rôle du monté en vue Le rôle du monté en vue May 09, 2024 pm 02:51 PM

onMounted est un hook de cycle de vie de montage de composant dans Vue. Sa fonction est d'effectuer des opérations d'initialisation après le montage du composant sur le DOM, telles que l'obtention de références aux éléments du DOM, la définition de données, l'envoi de requêtes HTTP, l'enregistrement d'écouteurs d'événements, etc. Il n'est appelé qu'une seule fois lorsque le composant est monté. Si vous devez effectuer des opérations après la mise à jour du composant ou avant sa destruction, vous pouvez utiliser d'autres hooks de cycle de vie.

La différence entre l'exportation et l'exportation par défaut dans vue La différence entre l'exportation et l'exportation par défaut dans vue May 08, 2024 pm 05:27 PM

Il existe deux manières d'exporter des modules dans Vue.js : exporter et exporter par défaut. export est utilisé pour exporter des entités nommées et nécessite l'utilisation d'accolades ; export default est utilisé pour exporter des entités par défaut et ne nécessite pas d'accolades. Lors de l'importation, les entités exportées par export doivent utiliser leurs noms, tandis que les entités exportées par défaut d'exportation peuvent être utilisées implicitement. Il est recommandé d'utiliser l'exportation par défaut pour les modules qui doivent être importés plusieurs fois et d'utiliser l'exportation pour les modules qui ne sont exportés qu'une seule fois.

Que sont les crochets en vue Que sont les crochets en vue May 09, 2024 pm 06:33 PM

Les hooks Vue sont des fonctions de rappel qui effectuent des actions sur des événements spécifiques ou des étapes du cycle de vie. Ils incluent des hooks de cycle de vie (tels que beforeCreate, Mounted, beforeDestroy), des hooks de gestion d'événements (tels que click, input, keydown) et des hooks personnalisés. Les hooks améliorent le contrôle des composants, répondent aux cycles de vie des composants, gèrent les interactions des utilisateurs et améliorent la réutilisabilité des composants. Pour utiliser des hooks, définissez simplement la fonction hook, exécutez la logique et renvoyez une valeur facultative.

Pour quels scénarios les modificateurs d'événements dans vue peuvent-ils être utilisés ? Pour quels scénarios les modificateurs d'événements dans vue peuvent-ils être utilisés ? May 09, 2024 pm 02:33 PM

Les modificateurs d'événements Vue.js sont utilisés pour ajouter des comportements spécifiques, notamment : empêcher le comportement par défaut (.prevent) arrêter le bouillonnement d'événements (.stop) événement ponctuel (.once) capturer l'événement (.capture) écouter passivement les événements (.passive) Adaptatif modificateur (.self)Modificateur de touche (.key)

Onmount en vue correspond à quel cycle de vie de réagir Onmount en vue correspond à quel cycle de vie de réagir May 09, 2024 pm 01:42 PM

onMounted dans Vue correspond à la méthode de cycle de vie useEffect dans React, avec un tableau de dépendances vide [], exécuté immédiatement après le montage du composant sur le DOM.

See all articles