playframework-2.0 - 玩2.0框架: Only load certain javascript files based on current view

标签 playframework-2.0

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

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

我在想我需要一种方法将当前 View 名称传递到 main.scala.html 文件,然后将 View 名称附加到脚本 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>

最佳答案

在 Play 1.x 中有两个 special tags用于包含从 View 到包装布局的其他脚本和样式:moreScriptsmoreStyles,无论如何它们不再存在了...

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

检查templates' documentation ,搜索“moreScripts 和 moreStyles 等效项”部分。

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

关于playframework-2.0 - 玩2.0框架: Only load certain javascript files based on current view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14633234/

相关文章:

scala - 有没有一种简单的方法来获取 Stream 作为 RowParser 的输出?

node.js - 如何在 Node.js 中重用 Play Framework 2.2 设置的签名 cookie?

java - 如何确保我的 Java Play 应用程序仅接受来自特定主机的 HTTP 请求?

java - 斯卡拉/Play : parse JSON into Map instead of JsObject

json - Play/Scala 如何防止空数组的 Json 序列化?

Java play路由传递复杂对象【Play框架2.0】

scala - 将 play 2.2 应用程序移植到 2.3.2 版本时出错 (Scala)

java - 将 securesocial 模块添加到 play 2.2.1 项目

java - Play Framework 2.1 websockets 流数据不工作

scala - 如果不使用 future ,为什么会被要求理解?