使用设置选项时未引用高图表错误



我们目前正在使用DotNet.Highcharts API将Highcharts合并到我们的网站中。但是,我们在使用 .SetOptions(GlobalOptions) 调用时遇到了一些 JavaScript 参考问题。

我们使用包装类在控制器中构建图表,然后使用简单的视图来呈现它。

在我们的控制器中:

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>

Chrome正在提高

"未捕获的引用错误:未定义高图表"

.setOptions()语句上的错误。如果没有此语句(以及 .NET 中相应的 .SetOptions() 语句),图表将正确呈现。如果我离开此页面,然后再次返回,图表将开始正确呈现。

我发现操作 ToHtmlString() 返回值以将.setOptions调用放在.ready()部分中可以使图表正确显示。这是其他人不得不采取的做法吗?

您的怀疑是正确的,您需要在 doc 中运行相关代码,如下所示。

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

根据文档,这些示例都是在加载 dom 后执行的,因此可以安全地假设这是最佳实践,并期望在 javascipt 库中,正在执行的代码将取决于.ready函数。当然,挖掘源代码会回答您遇到的任何进一步问题,但这完全没问题。

高图表 - 如何设置选项

最新更新