如何在我的模板中创建一个可选部分,该部分将在底部附近呈现

时间:2014-11-19 20:54:30

标签: scala playframework

我的playframework应用程序中有一个主布局,如:

@(title: String = "Home")(content: Html)

<html>
<body>
..

@content
..

<script type="text/javascript">

</script>

</body>
</html>

现在在使用上述布局的典型页面中,我有:

@layouts.master(title = "About Us") {

<h1>About us</h1>
..

}

现在我希望能够在我的视图页面中创建一个写入javascript,并将其注入javascript <script>...</script>标记内的主布局。

注意:我希望这是可选的。

1 个答案:

答案 0 :(得分:1)

首先修改主布局,以便将一些JavaScript作为参数。

@(title: String = "Home", scripts: Html = Html(""))(content: Html)

<html>
<body>
..

@content
..

<script type="text/javascript">
@scripts
</script>

</body>
</html> 

通过为此参数提供默认值,您可以将其设为可选。接下来,您可以在其中一个视图中定义示例脚本,并将其传递给模板,如下所示:

@scripts = {
    alert('This is the passed script!');
}

@layouts.master(title = "About Us", scripts) {

<h1>About us</h1>
..

}

此技术在 moreScripts和moreStyles等效部分中为documented