Vue-ChartJS-JSON的循环结构

时间:2018-08-02 19:54:44

标签: javascript vue.js vue-chartjs

我正在使用 Vue-Chartjs lib,并且正在尝试制作折线图。好吧,我已经在下面的代码中完成了它,它起作用了!绘制图形。但是,当我更改Vue Data内部的任何变量的值时(例如本示例中的test输入)。在控制台中评估此错误。我认为这是由于VueChartJS所致,因为如果我删除图表,一切都会很好。

  

TypeError:将圆形结构转换为JSON

line.js

import {Line, mixins} from 'vue-chartjs'
const { reactiveProp } = mixins

export default {
   extends: Line,
   mixins: [reactiveProp],
   props: ['options'],
   mounted() {
      this.renderChart(this.chartData, this.options);
   }
}

dashboard.vue

<line-chart :chart-data="dataCollection" :height="100"></line-chart>
 <input v-model="test">

   import LineChart from './line-chart.js';
   export default {
      components: {LineChart},
      data: () => ({ 
         dataCollection:  {},
         test: "some input" 
      }),
      created () { 
         this.dataCollection =  {
                  "labels": ["0:00", "1:00", "2:00", "3:00", "4:00", "5:00"],
                  "datasets": [{
                     "label": "Test",
                     "backgroundColor": "#00CC6A",
                     "borderColor": "#00CC6A",
                     "data": [0, 23, 51.75, 27, 34, 12]
                  }]
               }
        }
    }

我在做什么错了?

谢谢!! =)

1 个答案:

答案 0 :(得分:0)

根据您的沙箱,我猜问题在于,您正在尝试在模板中输出数据收集。

如果chart.js数据对象包含圆形结构(在子对象的某处引用该对象),则可能导致错误。

因为如果您在vue模板中打印出对象,则vue在后台使用JSON.stringify()。无法解析圆形结构。