javascript - 在 Vue.js 组件中定位和操作图表栏和标签
问题描述
我是 Vue 和图表 js 的新手,我想做的是针对图表,添加、删除和更新图表的标签和数据值。我有一个指向 chartJs 文档的链接,但我遇到的问题是我export default {}
可以在块中的哪个范围内定位数据。我在 Vue 组件中设置了图表,我也在使用 CLI Webpack 设置。
// HERE IS MY HTML
<v-flex xs12 md12 width="400px" height="400px" mt-5 >
<canvas id="myChart" ></canvas>
</v-flex>
export default {
methods: {
CreateChart(chartId, chartData) {
const ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ['JavaScript', 'NodeJs', 'VueJs', 'DataBase'],
datasets: [{
label: '# of votes',
data: [12, 15, 23, 15],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
],
borderWidth: 1
}]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}]
}
}
});
}
},
mounted() {
let data = data;
this.CreateChart('chart', data);
},
}
现在,根据 ChartJs 官方文档,我可以有一个函数,我认为在createChart()
`methods{}' 范围内的方法之后,该函数应该允许我以以下方式定位条或标签
function addData(myChart, label, data) {
chart.data.labels.push(label);
chart.data.datasets.forEach((dataset) => {
dataset.data.push(data);
});
chart.update();
}
function removeData(chart) {
chart.data.labels.pop();
chart.data.datasets.forEach((dataset) => {
dataset.data.pop();
});
chart.update();
}
提前致谢
解决方案
推荐阅读
- spring-boot - 如何在 Spring Boot 中创建/配置我自己的 AMQP ContainerFactory?
- python - DataFrame 中 read_excel 中的多个索引(TypeError:列表索引必须是整数,而不是 str)
- hibernate - 如何使用 JOIN 转换 HQL 本机查询的结果
- html - 在没有 Flash 的 html 中添加 youtube 视频
- php - 在php中解析坐标数据并避免致命的内存错误
- javascript - 30 秒后重新加载多个 iframe
- c# - 如何提供一个接口来检索和更新键、值?
- bixby - Bixby NL 和具有枚举类型的对话驱动程序
- java - java.lang.NoClassDefFoundError:无法初始化类 com.google.gdata.client.contacts.ContactsService
- kotlin - 生成的 setter 与接口方法冲突