我在 Play 2.1.x 应用程序中使用 jsRoutes。我的部分路由文件如下所示:
GET /assets/template/js/routes/admin.js controllers.Admin.jsRoutes
GET /assets/template/js/routes/salonManagement.js controllers.SalonManagement.jsRoutes
而且我想在我的 scala 模板中使用这两个引用(也就是说,按照设计,一个控制器包含必要的 api 函数,另一个包含必要的表单提交 url)。所以在我的 scala 模板中,我有以下部分:
<script type="text/javascript" src="@routes.Admin.jsRoutes()"></script>
<script type="text/javascript" src="@routes.SalonManagement.jsRoutes()"></script>
不幸的是,每个生成的 javascript 文件都以var jsRoutes = {};
. 因此,@routes.SalonManagement.jsRoutes()
覆盖的属性,@routes.Admin.jsRoutes()
我只能使用最后一个 jsRoutes 对象。
现在,我只知道一种解决方法。在每个 jsRoutes 声明之后,我可以插入一个脚本,将旧的 jsRoutes 对象复制到一个临时对象,然后用它自己扩展新的 jsRoutes。但这看起来不是正确的方法。
没有更好的办法吗?