使用相同的数组引用时,Highcharts setData无法正常工作

时间:2018-02-24 03:00:42

标签: angular highcharts angular2-highcharts

所以我有一些包含一些数据的数组。我使用setData方法设置我的系列数据,如下所示:

chartInstance.series[0].setData(chartData);

这是第一次正常工作,但是我要说我更改了chartData中的一些数据并希望将其应用到我的高级图表中。下次我调用上面的setData()方法时,它对我不起作用,因为我没有看到更改应用于我的图表。但是,如果我使用slice()

这样做,它就会起作用
chartInstance.series[0].setData(chartData.slice());

我只是想知道这是否是预期的行为,如果是这样,为什么它会这样?谢谢。

1 个答案:

答案 0 :(得分:0)

是的,这是预期的行为。

以下是 API 的解释:

  

新数据数组通过引用传递(除非是   updatePoints),更新图表数据后可能会变异

来源: https://api.highcharts.com/class-reference/Highcharts.Series#setData

在将数据传递给slice()之前克隆数据(例如使用setData)是一种很好的做法。