这可能无法修复,但我希望有人之前可能遇到过这个问题并找到了解决方法。
Highcharts-ng 似乎将系列数据与现有数据合并在一起,以至于我无法保持系列的顺序。我特别想展示两个系列,从左到右分别称为 A 和 B(因为表单控件是这样组织的)。
所以,我从 A 系列开始,然后我添加一个 B,然后更改A,现在它的顺序是 B 和 A。
我查看了 highcharts-ng 代码,我可以理解它发生的原因(参见下面的 processSeries 方法)。
我能够开始工作的唯一解决方法是完全重置系列数据并调用 $apply,这当然不能在另一个应用的中间进行。
$scope.chartConfig.series.length = 0
$scope.chartConfig.xAxis.categories.length = 0
$scope.$apply(); # force update with empty series (throws $apply already in progress error)
我真的很想知道是否有我可以设置的选项,或者其他一些解决方法可以让我按照自己的意愿使用它,而不必求助于编辑指令。
var processSeries = function(chart, series) {
var ids = []
if(series) {
ensureIds(series);
//Find series to add or update
series.forEach(function (s) {
ids.push(s.id)
var chartSeries = chart.get(s.id);
if (chartSeries) {
chartSeries.update(angular.copy(s), false);
} else {
chart.addSeries(angular.copy(s), false)
}
});
}
非常感谢!