在这里玩新手。
在 Play 文档中声称 Play 模板可以是任何基于文本的格式。如果我想使用 javascript 模板或纯文本模板而不是 html 模板,它是如何工作的?
在 Rails 中,我可以有不同格式的不同视图(模板)。例如,我可以有一个people/index.html.erb
使用部分调用的_list.html.erb
,如下所示:
<h1>People</h1>
<ul id="people">
<%= render "list" %>
</ul>
然后我可以有一个people/index.js.erb
使用相同的部分,看起来像这样:
$('#people').html('<%= escape_javascript(render("list")) %>');
如果客户端需要渲染整个页面,它可以发送一个接受 html 文档的请求,应用程序将提供 html 视图。如果OTOH客户端只需要更新部分页面,它可以发送一个接受脚本的请求,应用程序将提供js视图。这是非常聪明的恕我直言,我想在 Play 中做类似的事情。
我天真地尝试的是创建一个名为的模板index.scala.js
,然后调用Ok(views.js.index("Hello world"))
. 不幸的是,这不起作用。我得到一个错误object js is not a member of package views
。
在 Play 2 中是否有惯用的方法来实现这一点?