0

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

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

这第一次工作得很好,但是假设我更改了一些数据chartData并希望将其应用到我的 highchart 中。下次我调用上述setData()方法时,它对我不起作用,因为我没有看到更改应用于我的图表。但是,如果我这样做,它会起作用slice()

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

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

4

1 回答 1

0

是的,这是预期的行为。

以下是API的解释:

新的数据数组是通过引用传递的(除了 updatePoints 的情况),并且以后可能更新图表数据时发生变化。

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

slice()因此,在将数据传递给之前克隆数据(例如,使用)setData是一个好习惯。

于 2018-02-26T10:13:26.070 回答