Angularjs 可单击自定义图例Angle-chart.js条形图
我正在尝试为我的条形图创建自定义图例。这就是我尝试去做的方式Angularjs 可单击自定义图例Angle-chart.js条形图,angularjs,chart.js,chart.js2,Angularjs,Chart.js,Chart.js2,我正在尝试为我的条形图创建自定义图例。这就是我尝试去做的方式 generateLabels: function (chart) { if (chart.data.labels.length && chart.data.datasets.length) { return chart.data.labels.map(function (label
generateLabels: function (chart) {
if (chart.data.labels.length && chart.data.datasets.length) {
return chart.data.labels.map(function (label, i) {
var meta = chart.getDatasetMeta(0);
var ds = chart.data.datasets[0];
return {
text: $scope.languagesOfCurrentSiteObject[i].localizedName,
fillStyle: chart.data.datasets[0].backgroundColor[i],
hidden: isNaN(chart.data.datasets[0].data[i]) || meta.data[i].hidden,
// Extra data used for toggling the correct item
index: i
};
});
} else {
return [];
}
},
这是一个很好的创建,但当我点击一些文字我的图例隐藏点击的数据,我得到这样的错误
ncaught TypeError:无法读取未定义的属性“\u meta”
位于23.module.exports.Chart.Controller.getDatasetMeta
它发生在它们的库方法中
onClick: function(e, legendItem) {
var index = legendItem.datasetIndex;
var ci = this.chart;
var meta = ci.getDatasetMeta(index);
// See controller.isDatasetVisible comment
meta.hidden = meta.hidden === null? !ci.data.datasets[index].hidden : null;
// We hid a dataset ... rerender the chart
ci.update();
},
在这行var meta=ci.getDatasetMeta(index)代码>因为我只能在索引=0的情况下使用此方法。
如果我设置index=0,那么下一行就会出现错误,因为数据集在数组中只有一个元素,然后在数据的elemenet中,但只有值而不是像hidden这样的属性