Ошибка старших графиков при использовании setOptions

В настоящее время мы используем API DotNet.Highcharts для включения Highcharts в наш веб-сайт. Тем не менее, при использовании .SetOptions(GlobalOptions) вызов.

Мы используем класс-оболочку для построения нашей диаграммы в контроллере, а затем используем простое представление для ее визуализации.

В нашем контроллере:

Chart chart = new HighCharts("chart-id");
chart.SetOptions(new GlobalOptions { Global = new Global { UseUTC = false; } });
chart.SetPlotOptions()...

На наш взгляд:

@model HighchartWrapper

@(Model.Chart)

Диаграмма отображается в виде следующим образом:

<script type="text/javascript">
    Highcharts.setOptions({ global: { useUTC: false } });
    var chart05;
    $(document).ready(function() {
    });
</script>

Хром поднимает

"Uncaught ReferenceError: Highcharts не определено"

ошибка на .setOptions() заявление. Без этого (и соответствующего .SetOptions() оператор в.NET) график отображает правильно. Если я перейду с этой страницы и вернусь назад, графики начнут правильно отображаться.

Я обнаружил, что манипулирование возвращаемым значением ToHtmlString(), чтобы положить .setOptions позвонить внутрь .ready() часть заставляет диаграммы отображаться правильно. К этому подходу прибегали другие?

1 ответ

Решение

Ваши подозрения верны, вам нужно запустить соответствующий код в документации, готовый следующим образом.

$(document).ready(function() {
    var chart = new Highcharts.Chart(options);
});

Согласно документации, все примеры выполняются после загрузки dom, поэтому можно с уверенностью предположить, что это лучшая практика, и ожидать, что в библиотеках javascipt выполняемый код будет зависеть от .ready функция. Конечно, копание в источнике ответит на любые ваши дополнительные вопросы, но это совершенно нормально.

Highcharts - Как настроить параметры

Другие вопросы по тегам