【发布时间】:2017-03-13 02:59:35
【问题描述】:
我目前正在 PlayFramework 中重构我的 myFile.scala.html。
JS 作为 内联代码 正确返回带有数据的谷歌图表:
google.charts.load('current', {'packages':['corechart', 'controls']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
...
};
但在作为单独的 .js 文件导入时返回一个空图表:
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript" src="@routes.Assets.at("/public/javascripts", "myChart.js")"></script>
我的路线是这样的:
GET /javascripts/*file controllers.Assets.at(path="/public/javascripts", file)
呈现空图表的事实表明它可以很好地读取 JS,但不会读取数据。为什么不读取数据?
--
ETA - @AndriyKuba,这是您要求提取的 JS 代码:
google.charts.load('current', {'packages':['corechart', 'controls']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'dateTime');
data.addColumn('number', 'Count');
var mapString = "@map";
var pairsArray = mapString.split(",");
pairsArray.forEach(function(pair) {
...
data.addRows([[dateString, count]]);
});
var dashboard = new google.visualization.Dashboard(document.getElementById('myChart_div'));
var Slider = new google.visualization.ControlWrapper({
'controlType': 'NumberRangeFilter',
'containerId': 'filter_div',
'options': {
...
}
});
var barCh = new google.visualization.ChartWrapper({
'chartType': 'ColumnChart',
'containerId': 'chart_div',
'options': {
...
}
});
dashboard.bind(Slider, barCh);
google.visualization.events.addListener(dashboard, 'ready', onReady);
dashboard.draw(data);
function onReady() {
google.visualization.events.addListener(barCh.getChart(), 'select', selectHandler);
function selectHandler(e){
window.location.href='/mydata/' + data.getValue(barCh.getChart().getSelection()[0].row, 0);
};
}
}
.scala.html 文件顶部的我的 scala 变量:
@(count: Int, schCount: Int, list: List[String], myVariable: String, apiSelector: List[String], map: Map[String, Integer])
我的数据在 mongoDB 上,并作为 java 列表对象读入。就像我说的,完全相同的语法是内联的,但不是从单独的 js 文件链接的。 我怀疑它是 scala 变量,我试图引入一个全局变量 inline 并在 JS 文件中引用它,但到目前为止这对我不起作用。有什么想法吗?
【问题讨论】:
标签: javascript html scala playframework google-visualization