Maison interface Web Voir.js Mise à jour dynamique des données et optimisation de l'affichage des graphiques statistiques Vue

Mise à jour dynamique des données et optimisation de l'affichage des graphiques statistiques Vue

Aug 17, 2023 am 09:48 AM
vue 统计图表 Mises à jour dynamiques des données

Mise à jour dynamique des données et optimisation de laffichage des graphiques statistiques Vue

Mise à jour dynamique des données et optimisation de l'affichage des graphiques statistiques Vue

Introduction :
À l'ère actuelle axée sur les données, l'utilisation de graphiques statistiques est de plus en plus répandue. En utilisant Vue comme cadre de développement frontal, combiné à diverses excellentes bibliothèques de graphiques, vous pouvez facilement implémenter différents types de graphiques statistiques. Cependant, lorsque les données changent fréquemment et que les graphiques statistiques doivent être mis à jour et affichés de manière dynamique, nous devons envisager certaines stratégies d'optimisation pour améliorer les performances des pages et l'expérience utilisateur.

Cet article expliquera comment implémenter la mise à jour dynamique des données et l'optimisation de l'affichage des graphiques statistiques dans Vue. Nous utiliserons ECharts comme exemple de bibliothèque de graphiques et présenterons les technologies associées avec des exemples de code.

1. Mise à jour dynamique des données

  1. Surveillance des modifications des données
    Dans Vue, vous pouvez utiliser l'attribut watch pour surveiller les modifications des données. Lorsqu'une donnée surveillée change, l'opération correspondante peut être implémentée dans la fonction de rappel.
<template>
  <div>
    <button @click="updateData">更新数据</button>
    <div ref="chart"></div>
  </div>
</template>

<script>
import echarts from 'echarts';

export default {
  data() {
    return {
      chartData: [] //图表数据
    }
  },
  mounted() {
    this.initChart(); //初始化图表
  },
  methods: {
    initChart() {
      //初始化图表
      const chart = echarts.init(this.$refs.chart);

      //绑定数据
      chart.setOption({
        series: [{
          type: 'bar',
          data: this.chartData
        }]
      });
    },
    updateData() {
      //模拟数据更新
      this.chartData = [100, 200, 300, 400, 500, 600];
    }
  },
  watch: {
    chartData: {
      handler() {
        //数据变动时,更新图表
        this.updateChart();
      },
      deep: true //深度监听
    }
  },
  updated() {
    //数据更新后,重新渲染图表
    this.updateChart();
  },
  destroyed() {
    //销毁图表
    echarts.dispose(this.$refs.chart);
  },
  methods: {
    updateChart() {
      const chart = echarts.getInstanceByDom(this.$refs.chart);
      chart.setOption({
        series: [{
          data: this.chartData
        }]
      });
    }
  }
}
</script>
Copier après la connexion

Dans le code ci-dessus, nous surveillons les changements dans les données chartData via l'attribut watch. Lorsque les données changent, appelez la méthode updateChart pour mettre à jour le graphique. Dans la fonction hook mise à jour, la méthode updateChart est également appelée à nouveau pour garantir que le graphique peut être restitué une fois les données mises à jour. Lorsque le composant est détruit, le graphique est détruit via la fonction de hook détruit pour libérer des ressources.

  1. Stratégie de limitation pour optimiser les performances
    Lorsque les données changent fréquemment, nous pouvons utiliser une stratégie de limitation pour éviter les mises à jour fréquentes des graphiques afin d'améliorer les performances. Vue fournit le plug-in vue-throttle-event pour implémenter facilement des stratégies de limitation.

Installez le plug-in :

npm install vue-throttle-event
Copier après la connexion

Utilisez le plug-in :

<template>
  ...
</template>

<script>
import { throttle } from 'vue-throttle-event';
import echarts from 'echarts';

export default {
  data() {
    ...
  },
  mounted() {
    ...
  },
  ...
  updated() {
    //数据更新后,重新渲染图表,使用节流策略每100ms触发一次
    throttle(this.updateChart, 100);
  },
  methods: {
    ...
  }
}
</script>
Copier après la connexion

Dans le code ci-dessus, nous importons la fonction throttle et l'utilisons dans la fonction hook mise à jour pour déclencher la méthode updateChart toutes les 100 ms pour éviter les graphiques fréquents mises à jour.

2. Optimisation de l'affichage

  1. Chargement par défilement virtuel
    Lorsque la quantité de données dans le graphique statistique est très importante, le rendu direct de toutes les données peut provoquer le gel de la page et affecter l'expérience utilisateur. À l'heure actuelle, vous pouvez utiliser la technologie de chargement par défilement virtuel pour afficher uniquement les données dans la zone visible.

Dans Vue, nous pouvons utiliser le plug-in vue-virtual-scroll-list pour implémenter le chargement par défilement virtuel.

Installez le plug-in :

npm install vue-virtual-scroll-list
Copier après la connexion

Utilisez le plug-in :

<template>
  <div style="height: 600px;">
    <div v-virtual-scroll="{
      size: 50, //每个元素的大小
      data: chartData, //数据源
      keyField: 'id', //数据的主键字段
      type: 'variable',
      variableSize: true
    }">
      <div v-for="item in visibleData" :key="item.id">{{ item.value }}</div>
    </div>
  </div>
</template>

<script>
import { VirtualScrollList } from 'vue-virtual-scroll-list';

export default {
  components: {
    VirtualScrollList
  },
  data() {
    return {
      chartData: [], //图表数据
      visibleData: [] //可视区域内的数据
    }
  },
  mounted() {
    //获取图表数据
    this.getChartData();
  },
  methods: {
    getChartData() {
      //模拟异步获取图表数据
      setTimeout(() => {
        const data = [];
        for (let i = 1; i <= 10000; i++) {
          data.push({
            id: i,
            value: i
          });
        }
        this.chartData = data;
      }, 1000);
    },
    presetVisibleData(start, end) {
      //根据起始位置和结束位置提取可视区域内的数据,start和end是元素在数据源中的索引值
      this.visibleData = this.chartData.slice(start, end);
    }
  },
  watch: {
    chartData: {
      handler() {
        //数据变动时,更新可视区域内的数据
        this.presetVisibleData(0, 50);
      },
      deep: true
    }
  },
  updated() {
    //针对数据变动,重新计算可视区域内的数据
    this.presetVisibleData(0, 50);
  }
}
</script>
Copier après la connexion

Dans le code ci-dessus, nous implémentons le chargement par défilement virtuel via le plug-in vue-virtual-scroll-list. Définissez la taille de chaque élément en définissant l'attribut size, l'attribut data spécifie la source de données et l'attribut keyField spécifie le champ de clé primaire des données. Ensuite, parcourez les données visibleData dans v-for pour obtenir l'effet de chargement par défilement virtuel. Lorsque les données changent, les données dans la zone visible sont recalculées via la méthode presetVisibleData.

Conclusion :
Cet article présente comment implémenter la mise à jour dynamique des données et l'optimisation de l'affichage des graphiques statistiques dans Vue. En surveillant les modifications des données et en utilisant des technologies telles que des stratégies de limitation et le chargement par défilement virtuel, les performances des pages et l'expérience utilisateur peuvent être améliorées. Bien entendu, selon les besoins réels, il peut également être combiné avec d’autres technologies pour plus d’optimisation afin de répondre aux différents besoins métiers. J'espère que cet article pourra vous aider à utiliser les graphiques statistiques 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 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)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
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)

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 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.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Vue réalise l'effet de défilement de chapiteau / texte Vue réalise l'effet de défilement de chapiteau / texte Apr 07, 2025 pm 10:51 PM

Implémentez les effets de défilement marquee / texte dans VUE, en utilisant des animations CSS ou des bibliothèques tierces. Cet article présente comment utiliser l'animation CSS: créer du texte de défilement et envelopper du texte avec & lt; div & gt;. Définissez les animations CSS et défini: caché, largeur et animation. Définissez les images clés, Set Transforment: Translatex () au début et à la fin de l'animation. Ajustez les propriétés d'animation telles que la durée, la vitesse de défilement et la direction.

Comment utiliser la pagination Vue Comment utiliser la pagination Vue Apr 08, 2025 am 06:45 AM

La pagination est une technologie qui divise de grands ensembles de données en petites pages pour améliorer les performances et l'expérience utilisateur. Dans Vue, vous pouvez utiliser la méthode intégrée suivante pour la pagination: Calculez le nombre total de pages: TotalPages () Numéro de page de traversée: Directive V-FOR pour définir la page actuelle: CurrentPage Obtenez les données de la page actuelle: CurrentPagedata ()

Comment interroger la version de Vue Comment interroger la version de Vue Apr 07, 2025 pm 11:24 PM

Vous pouvez interroger la version Vue en utilisant Vue Devtools pour afficher l'onglet Vue dans la console du navigateur. Utilisez NPM pour exécuter la commande "NPM List -g Vue". Recherchez l'élément VUE dans l'objet "dépendances" du fichier package.json. Pour les projets Vue CLI, exécutez la commande "Vue --version". Vérifiez les informations de la version dans le & lt; script & gt; Tag dans le fichier html qui fait référence au fichier VUE.

See all articles