Playframework:将值传递给javascript的优雅方式

ros*_*han 6 javascript playframework

有没有人有一个优雅的解决方案来将服务器值传递给playframework中的javascript(不是内联)?就像html中的$ {x}或&{'x'}一样

目前我能想到

  <script type="text/javascript">
     var x= ${x};
  </script>
  <script src="/public/javascripts/jsThatUsesX.js" type="text/javascript" ></script>
Run Code Online (Sandbox Code Playgroud)

我认为游戏有更好的解决方案

tak*_*eek 2

这并不漂亮,但我总是这样做。

如果您传递给 JavaScript 的值描述了 DOM 中的某些内容,您可以考虑使用 HTML 5 数据属性将该信息放入 HTML 中。然后您可以使用 检索它getAttribute。例如,如果您的页面是博客文章,并且您需要存储可以使用的帖子 ID

<div class="post" data-post-id="77">
   ...
</div>
Run Code Online (Sandbox Code Playgroud)

这样数据就从逻辑中分离出来,并且您不需要内联任何 JavaScript。您还可以使用隐藏的表单字段。