使用coffeescript的播放视图

时间:2015-10-23 23:08:31

标签: playframework coffeescript

我正在使用play框架。我有一个coffeescript查询返回一个对象列表,我想在其上做一些中等复杂的渲染。在.scala.html文件中写入比在咖啡脚本中更容易和更清晰。有没有办法从咖啡脚本访问视图中的文件?

基本上,我想要这样的东西

应用/视图/ index.scala.html

@()
<script type='text/javascript' src='@routes.Assets.versioned("javascripts/index.js")'></script>
<div id="widgets"/>

应用/资产/ Javascript角/ index.coffee

$ ->
  $.get "/widgets", (widgets) ->
    $.each widgets, (index, widget) ->
       $("#widgets").append ??views.widget(widget)

?? views.widget不起作用,但我不知道用什么来代替它。

应用/视图/ widget.scala.html

@(widget: Widget) 
Foo: @widget.foo<br>
Bar: <b>@widget.bar</b><br>
Baz: @widget.baz<br>

简而言之,coffeescript执行一个请求,该请求获取一个对象列表,这些对象将传递给视图进行渲染。我并不依赖于那个工作流程,但是(根据我对Play的理解),它似乎是明显而且最好的方法。如果有不同的工作流程可以完成我想要做的事情,我很高兴能够学到这一点。

要明确的是,如果/widgets返回两个小部件,foo,bar,baz等于1,2,3a,b,c,我希望这是最终结果:

<script ....></script>
<div id=widgets>
Foo: 1<br>
Bar: <b>2</b><br>
Baz: 3<br>
Foo: a<br>
Bar: <b>b</b><br>
Baz: c<br>
</div>

我正在使用Play 2.4,但还没有播放2.4标签,我认为我没有足够的声誉来创建它。

0 个答案:

没有答案