0

我使用 vue-chart.js 来绘制一个简单的图表。

import { Line } from 'vue-chartjs';

export default {
 extends: Line,
 mounted() {
   this.renderChart({
   labels: [this.getChartLabels],
   datasets: [
     {
       label: 'Active users',
       backgroundColor: '#f87979',
       data: [this.getChartData],
     },
   ],
 },
 { responsive: true,
   maintainAspectRatio: false,
 });
},
 computed: {
  ...mapGetters(['getFullReport', 'getChartLabels', 'getChartData']),
 },
 methods: {
  ...mapActions(['loadFullReport']),
 },
};

当我控制台我的 getter 时mounted,我可以看到我收到了一个包含两个项目的数组,但是当我重新加载页面时,该数组似乎是空的。图表本身在页面重新加载之前和之后都不显示任何信息。请帮忙!

4

1 回答 1

1

你应该添加一个观察者来观察你的吸气剂的变化。然后更新图表this.$data._chart.update()

Chart.js 不是反应式的。如果您的图表实例被渲染后您的数据发生变化或“迟到”,您将什么也看不到。

我猜你通过 API 填充你的商店?然后它就更重要了,因为您的 API 调用是异步的。

于 2018-04-26T10:05:37.793 回答