Ошибка старших графиков при использовании 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
функция. Конечно, копание в источнике ответит на любые ваши дополнительные вопросы, но это совершенно нормально.