当我第一次看到Play并浏览了所有样本时,我对zentasks示例和流畅,干净,轻松的Javascript路由非常兴奋,这使得渲染内容的工作无法进行。但我们决定改用Angular。
沿着这条路走下去,我认为Angular将控制渲染的所有方面。
但是,我们有一个必须获得套接字的页面。我们在服务器上制作了套接字,所以到目前为止,我们仍然有一个Play(Scala)模板。我们已经将其减少到几乎没有:创建套接字然后将其注入Angular上下文。
但是我们也在尝试进行Protractor测试,并且必须弄清楚如何容纳Scala模板。
问题:我们应该抛弃scala模板并让Angular控制器调用服务器并获取套接字吗?这是我最喜欢的方法。
答案 0 :(得分:3)
我目前正在使用Angular处理两个Play应用程序,并且我们决定使用一个main.scala.html文件,从require.js的角度使用加载所有必要的控制器,服务,指令等。< / p>
Angular的目标是创建单页面应用程序,因此您应该避免将其与服务器端模板混合使用。
您必须将main.scala.html模板视为单页面应用程序的入口点。在那里,您可以生成并加载所需的所有部分,并将手放在角度以管理其余部分。
答案 1 :(得分:1)
我同意雷纳托。拥有一个单独的控制器和模板可以更好地设置单页应用程序的角度。然后使用AJAX将请求从浏览器发送到其他控制器(请参阅http://www.playframework.com/documentation/2.2.x/JavaJsonRequests)。
如果想完全避免使用Scala模板,可以将网页和javascript放在公共目录中,只使用AJAX。