仪表板获取具有10个元素的数据数组chdata
属性。每0.5秒阵列更新一次新项目。我可以看到,数据在数据集中正在变化,但图表没有显示。
悬停时也会出现此错误Uncaught TypeError: Cannot read property 'skip' of undefined
。
//LineChart.vue
<script>
import {
Line,
mixins
} from 'vue-chartjs'
export default Line.extend({
mixins: [mixins.reactiveData],
props: ["options"],
data() {
return {
chartData: {
labels: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
datasets: [{
label: 'Data One',
borderColor: '#e67e22',
pointBackgroundColor: '#e67e22',
borderWidth: 1,
pointBorderColor: '#e67e22',
backgroundColor: 'transparent',
data: this.$root.$data.chdata
}]
},
}
},
mounted() {
this.renderChart(this.chartData, {
responsive: true,
maintainAspectRatio: false,
animation: false,
//Boolean - If we want to override with a hard coded scale
scaleOverride: true,
//** Required if scaleOverride is true **
//Number - The number of steps in a hard coded scale
scaleSteps: 20,
//Number - The value jump in the hard coded scale
scaleStepWidth: 10,
//Number - The scale starting value
scaleStartValue: 0
});
},
watch: {
chartData: function() {
this._chart.destroy()
this.renderChart(this.data, this.options)
// this._chart.update()
}
}
});
</script>
我是在mounted()
:
var self = this;
self.set = setInterval(function() {
self._chart.update()
}, 200);
我对它不满意。
答案 0 :(得分:1)
问题是,您没有更新标签。 您可以在标签数组中定义10个项目。这适用于10个数据条目。
如果将新条目推送到数据阵列,则还需要添加新标签。否则chart.js会抛出此错误。