我确定我错过了显而易见的事情,但是有没有办法创建 Html 对象的集合以传递给 Play 模板,例如@(title: String)(content: Seq(Html))
?我正在尝试动态生成一组选项卡页,其中每个 Html 对象都是选项卡的主体。
我的困惑在于如何在模板中创建 Seq(Html)。类似的东西@main("Home") Seq({...},{...})
不起作用和使用@(title: String)(contentTab1: Html)(contentTab2: Html)
并 @main("Home") {...}, {...}
破坏了目的。
就像是:
标签内容(tab.scala.html
):
@(content: Html, tab: models.Tab, isActive: String)
<section class="mdl-layout__tab-panel @isActive" id="fixed-tab-@tab.id">
<div class="page-content">@content</div>
</section>
主模板(main.scala.html
):
@main(title: String, tabs: List[models.Tab])(contentSeq: Seq[Html])
页面模板:
@(tabs: List[models.Tab])
@main("title", tabs) {
<!-- tab1 content -->
} {
<!-- tab2 content -->
}
*忽略匹配Seq[Html]
和List[models.Tab]
尺寸的不良设计