2015-05-12 3 views
1

Мне нужно передать элемент javascript со значениями из Карты, как показано ниже.Как передать аргументы элементу javascript из scala?

Моя делают подпитывает HTML документ:

@(morrisDonut: Map[String, Integer]) 

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

$.getScript('https://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.2/raphael-min.js',function(){ 
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/morris.js/0.5.1/morris.min.js',function(){ 

var donutData = []; 
@for((activity, steps) <- morrisDonut) { 
    donutData.push({label: activity, value: steps}); 
} 

Morris.Donut({ 
    element: 'user_activity-donut', 
    data: donutData 
}); 
}); 
}); 

Сценарий останавливается, потому что Dont не может найти/не может использовать активность и действия даже если это правильные типы.

РЕШЕНИЕ:

donutData.push({label: '@activity', value: @steps}); 

Добавление «'„и символы“@», казалось, прекрасно работать

ответ

3

С вашего синтаксиса я думаю (и я выводя много здесь), что вам используя платформу воспроизведения, то есть Twirl templates. Если это так, то вы просто не хватаете некоторые оператор почтения (@) в критических точках, где вы загружаете свой donutData массив:

@for((activity, steps) <- morrisDonut) { 
    donutData.push({label: @activity, value: @steps}); 
} 

Это может быть каверзными директивами перемешивающего Twirl с другим языком, так как по дизайн, нет явного «это конец моего кода Twirl» - все это выводится. Таким образом, в вашем случае первая и третья строки были правильно интерпретированы Twirl, но вторая строка представляла собой просто статический контент, который был бы вставлен как есть.

Добавив магические символы @, будет обнаружена необходимая замена.

+0

Да, это действительно игровой каркас. аргументы donutData.push не могут вставлять значения даже с символом magic @. Любые другие советы, которые я могу попробовать? – tingiling

+0

Взгляните на сгенерированный HTML/JS, используя View View - ваш браузер может увидеть что-то необычное. – millhouse

+0

Спасибо, наконец, работает! – tingiling

Смежные вопросы