繁体   English   中英

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

[英]Playframework: Elegant way to pass values to javascript

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

目前我能想到

  <script type="text/javascript">
     var x= ${x};
  </script>
  <script src="/public/javascripts/jsThatUsesX.js" type="text/javascript" ></script>

我在想有一个更好的解决方案

那有什么问题? 我发现自己在做类似的事情

<script>
   var trades = [${_trades.collect {models.Trade t -> t.price}.join(", ")}];
   // ...
</script>

我喜欢 groovy 方式;)

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

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

<div class="post" data-post-id="77">
   ...
</div>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM