0

Javaで作成された3つのマップ変数は、Playframeworkのscala.htmlページに3つのScala変数として渡されます。Jsグローバル変数を置き換え、Play Frameworkのスカラ変数を扱うにはどうすればいいですか?

このscala.htmlは、それらを3つのグローバルJs変数に渡し、GoogleChart(Javascript)によって解釈されます。

グローバル変数の1つを単独で使用すると、グラフが期待どおりに表示されますが、2つまたは3つでは、グラフが表示されません。

私はグローバル変数が悪い習慣であることを知っています。理由は分かります。これらの3つのスケーラ変数をJSに渡す最も簡単な方法は何ですか? JSファイルのいずれかの

<head> 
... 
<script> 
window.APP = {sMap: '@sMap'}; 
</script> 
<script type="text/javascript" src="@routes.Assets.at("/public/javascripts", "sChart.js")"></script> 
<script> 
window.APP = {eMap: '@eMap'}; 
</script> 
<script type="text/javascript" src="@routes.Assets.at("/public/javascripts", "eChart.js")"></script> 
<script> 
window.APP = {vMap: '@vMap'}; 
</script> 
<script type="text/javascript" src="@routes.Assets.at("/public/javascripts", "vChart.js")"></script> 
</head> 

例:私は、関数の外からグローバル変数を宣言するとき

function drawChart() { 
var sMap = window.APP.sMap; 
var data = new google.visualization.DataTable(); 
data.addColumn('number', 'Count'); 
var mapString = sMap; 
...; 

答えて

0

それは動作します(私は持っていた、それだけで一つだけで仕事をした前機能、内部変数は2つ以上で動作しなくなりました)。

は、私が今持っていることは次のようになります。

var sMap = window.APP.sMap; 

function drawChart() { 
var data = new google.visualization.DataTable(); 
data.addColumn('number', 'Count'); 
var mapString = sMap; 
...; 
関連する問題