Impossible de lire la propriété null (lire « conversion »). Qu'est-ce que ça veut dire?
P粉207483087
P粉207483087 2024-01-10 16:36:20
0
1
431

J'ai créé le graphique en utilisant les données dynamiques d'axios via la bibliothèque Chartjs. Mais lorsque j'actualise la charte du navigateur, d'abord il n'y a rien de disponible comme ceci :

Si je modifie la taille de la fenêtre du navigateur, tous les graphiques s'affichent :

Erreur depuis la console :

Uncaught TypeError: Cannot read properties of null (reading 'transition')
    at Chart.transition (Chart.js?473e:9865:1)
    at Chart.draw (Chart.js?473e:9827:1)
    at Chart.render (Chart.js?473e:9799:1)
    at Object.callback (Chart.js?473e:2208:1)
    at Object.advance (Chart.js?473e:3544:1)
    at Object.startDigest (Chart.js?473e:3517:1)
    at eval (Chart.js?473e:3506:1)

Je ne sais pas pourquoi cela se produit et je ne sais pas quoi faire. Il semble que le navigateur essaie d'abord de créer le graphique (mais n'a pas encore reçu les données). L'ensemble du processus de calcul prend environ 580 ms.

Ce MainChart.vue est utilisé pour construire le graphique :

<template>
  <div>
    <canvas id="main-chart" height="400"></canvas>
  </div>
</template>

<script>
import Chart from 'chart.js'

export default {
  name: 'MainChart',
  props: ['chartData'],
  mounted() {
    const ctx = document.getElementById('main-chart');
    new Chart(ctx, this.chartData);
  }
}
</script>

Cette page publique Analytics-test.vue. J'ai sauté toutes les méthodes.

<template>
  <div> Прибыль/посещаемость <div class="small">
      <MainChart :chart-data="datacollection" />
    </div>
  </div>
</template>

<script>
import MainChart from '../MainChart.vue'
export default {
  components: { MainChart },
  
  data: () => ({
    flagStartDate: false,
    chartData: null,
    labels: [],
    datasets: {},
    draftData: null,
    data: [],
    datacollection: { type: 'line', },
    clubsId: ['5c3c5e12ba86198828baa4a7', '5c3c5e20ba86198828baa4c5', '60353d6edbb58a135bf41856', '61e9995d4ec0f29dc8447f81', '61e999fc4ec0f29dc844835e'],
      }),
  methods: {
...some a lot of code..},

 async mounted() {
    await this.loadIncomings(this.clubsId),
      await this.loadAvgIncomings(this.clubsId),
      await this.loadAvgPayments(this.clubsId),
      await this.loadAvgSchedule(this.clubsId),
      await this.loadTrainings(this.clubsId)

  },

</script>
Il y a 19 fonctions dans

methods, j'ai décidé de ne pas les saisir ici.

P粉207483087
P粉207483087

répondre à tous(1)
P粉311464935

Cette erreur semble être similaire à celle décrite dans ce problème GitHub : https://github.com/chartjs/Chart.js/issues/5149 Il semble que cela puisse être dû au chargement immédiat des données par le graphique, mais à ce sujet Il y a quelques solutions dans les commentaires de la question.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!