Как передать параметры в функцию обратного вызова Highcharts pointFormatter? - PullRequest
0 голосов
/ 25 июня 2018

Highcharts имеет параметр pointFormatter, который принимает функцию обратного вызова.Я хочу использовать пару переменных в этом форматере.Как я могу это сделать?Извините, если это очевидно;Я новичок в JS.Это то, что у меня есть:

chart.addSeries({
      id: "buy1",
      name: "Buys for SD #1",
      type: "scatter",
      color: "#23DA47",
      data: buySellCleaner(buysPoints1),
      tooltip: { 
         pointFormatter: function(priceArr, buysPoints1) {
             return "Time" + "<b>" + unixToEST(this.x) + "</b>" + "<br/>Price: <b>" + priceArr[buySellCleaner(buysPoints1)[this.series.data.indexOf( this.point )][2]][1] + "</b>";
        }
   },
});

Очевидно, что priceArr и buysPoints1 не определены в области видимости ... как это исправить?

1 Ответ

0 голосов
/ 26 июня 2018

Если они находятся в области действия chart.addSeries, то они должны быть в области действия для функции обратного вызова pointFormatter.

Из примеров pointformatter похоже, что старшие диаграммы не проходят никакойпараметры для обратного вызова.

Что вы делаете, добавляете ненужные параметры в функцию обратного вызова pointformatter и перезаписываете свои предыдущие значения для priceArr и buysPoints1 с помощью undefined.Они undefined, потому что когда highcharts вызывает обратный вызов pointformatter для вас, он не передает никаких значений в вызов, поэтому ваши параметры (priceArr и buysPoints1) не определены внутри функции.

Попробуйте удалить их изпараметры обратного вызова.

pointFormatter: function() {
    return "Time" + "<b>" + unixToEST(this.x) + "</b>" + "<br/>Price: <b>" + priceArr[buySellCleaner(buysPoints1)[this.series.data.indexOf( this.point )][2]][1] + "</b>";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...