2

假设我有以下视图文件:dashboard.scala.html、index.scala.html、main.scala.html 和 user.scala.html。以及以下 javascript 文件:dashboard.js、user.js 和 main.js

有没有办法在加载 user.scala.html 视图时只加载 user.js 文件,dashboard.js 文件只加载到 dashboard.scala.html 视图上,而不加载到其他视图页面上?目前,我所有的视图文件都通过 main.scala.html 文件运行,该文件包含我所有的 css 和 javascript。

我在想我需要一种方法将当前视图名称传递给 main.scala.html 文件,然后在脚本 src 属性中附加视图名称,或者有没有办法通过路由文件来做到这一点?我也在为这个应用程序使用 Java API。

<script src="@routes.Assets.at("javascripts/vendor/jquery.min.js")" type="text/javascript"></script>
<script src="@routes.Assets.at("javascripts/main.js")" type="text/javascript"></script>
<script src="@routes.Assets.at("javascripts/" + viewName + ".js")" type="text/javascript"></script>
4

1 回答 1

3

在 Play 1.x 中,有两个特殊标签用于包含从视图到包装布局的附加脚本和样式:moreScripts并且moreStyles,无论如何它们不再存在......

幸运的是,您可以在 Play 2 中手动执行相同的操作,最好它们不再固定,您可以根据需要创建尽可能多的此类块。

检查模板的文档,搜索“moreScripts and moreStyles equivalents”部分。

另一方面,有时更容易为给定视图按所需顺序准备带有脚本和样式的单独“布局”。

于 2013-01-31T19:32:59.653 回答