【问题标题】:Playframework: Elegant way to pass values to javascriptPlayframework:将值传递给 javascript 的优雅方式
【发布时间】:2011-07-13 00:25:12
【问题描述】:

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

目前我能想到的

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

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

【问题讨论】:

    标签: javascript playframework


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      我喜欢这种时髦的方式;)

      【讨论】:

      • 安德烈,这没什么错 :-)。我喜欢 Groovy。我希望能够优雅地将对象直接传递给 javascripts(并避免内联)
      猜你喜欢
      • 1970-01-01
      • 2014-09-17
      • 2017-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      相关资源
      最近更新 更多