Skj*_*jal 6 chart.js chart.js2
根据Chart.js docs,以下代码应该可以工作:
new Chart(document.getElementById(chartID), {
type: 'pie',
responsive: true,
maintainAspectRatio: false,
data: {
labels: graph.globals.labels,
datasets: [{
backgroundColor: pieOptions.backgrounds,
data: pieOptions.objToArr(graph.meetingsData),
hoverBorderWidth: 5,
borderColor: 'transparent',
}]
},
options: {
title: {
display: true,
text: graph.globals.title,
},
legend: {
display: true,
position: 'bottom',
fullWidth: false,
onClick: () => {},
labels: {
generateLabels: (chart) => {
return pieOptions.legendLeft(chart);
}
}
},
plugins: [{
beforeInit: function(chart, options) {
console.log('yolo');
}
}]
rotation: 3.9,
}
});
Run Code Online (Sandbox Code Playgroud)
但是,当我使用变量创建插件,或者像上面所示那样创建内联插件时,它不会记录任何内容。我可以使用插件的唯一方法是在全局注册它。
有人可以向我解释为什么它不起作用吗?
plugins应该放在它自己的配置部分,而不是嵌套在options.
代替:
options: {
title: {
display: true,
text: graph.globals.title,
},
legend: {
display: true,
position: 'bottom',
fullWidth: false,
onClick: () => {},
labels: {
generateLabels: (chart) => {
return pieOptions.legendLeft(chart);
}
}
},
plugins: [{
beforeInit: function(chart, options) {
console.log('yolo');
}
}]
rotation: 3.9,
}
Run Code Online (Sandbox Code Playgroud)
您的代码应如下所示:
options: {
title: {
display: true,
text: graph.globals.title,
},
legend: {
display: true,
position: 'bottom',
fullWidth: false,
onClick: () => {},
labels: {
// generateLabels: (chart) => {
// return pieOptions.legendLeft(chart);
// }
}
},
rotation: 3.9,
},
plugins: [{
beforeInit: function(chart, options) {
console.log('yolo');
}
}]
Run Code Online (Sandbox Code Playgroud)
工作 JSFiddle:https ://jsfiddle.net/r1x63b8v/
| 归档时间: |
|
| 查看次数: |
4104 次 |
| 最近记录: |