Справочная информация:
Я использую PlayFramework для создания системы веб-приложений (рабочих процессов), в которой для создания моих представлений используется шаблонный движок Twirl *1008* (на основе scala).
Проблема:
Мне нужно хранить переменные JavaScript внутри моего шаблона (который отображает HTML), где в отдельном файле (ах) JS я буду выполнять операции позже.
Какие-либо существующие решения?
Это можно сделать в соответствии с этими SO вопросами, которые я нашел:
Этот создает карту, на которой данные хранятся и впоследствии извлекаются.
Этот создает простой пример хранения переменной в теге встроенного сценария для использования позже
Наконец, этот использует более конкретный пример хранения данных в структурах данных в шаблоне и доступа к структурам данных в JS после анализа.
Пример, созданный активным участником SO, Biesior , помогающий многим разработчикам с Play! Рамочные вопросы
Подводя итог, что следует сделать:
- Передать некоторые данные в шаблон
- Добавить данные, переданные в теге script с именем JS
<html>
<body>
<script>
let someJSDataName = @myData
</script>
</body>
</html>
- Использование в консоли JS / Google Chrome Dev
Этот должен отображать некоторый результат!
Но в чем проблема?
Позвольте мне показать вам.
Рендеринг HTML:
//...
<div class="BoxMediumBlue" style="padding: 20px;">
<script>
let facultyDepartments = {Science=[Computer Science, Physics], Biology=[Zooology]};
</script>
<br>
<div class="container-heading">
//...
При попытке доступа к этим данным в моей консоли разработчика Google Chrome:
facultyDepartments
VM1209:1 Uncaught ReferenceError: facultyDepartments is not defined
at <anonymous>:1:1
Просто к вашему сведению, использование var
не имеет значения
Я что-то не так делаю?