javascript - Vue-ChartJS - JSON 的循环结构
问题描述
我正在使用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);
}
}
仪表板.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]
}]
}
}
}
我究竟做错了什么?
谢谢!!=)
解决方案
根据您的沙箱,我猜问题是您试图在模板中输出数据集合。
如果chart.js 数据对象包含一个循环结构,(在childobject 某处引用该对象),这可能会导致错误。
因为如果你在你的 vue 模板中打印出对象,vue 在后台使用 JSON.stringify()。其中无法解析圆形结构。
推荐阅读
- mysql - 如何使用 Node + Mysql + Sequelize 以最佳方法构建多租户 SaaS 聊天应用程序
- clips - 我是否以正确的方式更改了 defglobal 的值?
- django - 我如何在不查看 django rest 框架端点中的所有用户列表的情况下与当前用户一起保存帖子
- c# - 我可以用字符串设置复选框名称吗?
- reactjs - 如何将 Auth0 与 react-admin 一起使用?
- java - 在 Android 中添加 Facebook 登录依赖项后出错
- java - SharedPreferences 合适吗,还是有更好的选择?
- c++ - 执行类方法回调导致分段错误
- python - 在另一个类的 def 中访问类的变量
- lua - 尝试索引全局“网格”(零值)