使用play 2.4.6为scala数组中的每个值创建一个html元素

时间:2016-02-19 05:02:33

标签: scala playframework-2.4

Scala相当新鲜。我正在尝试创建一个基于数组值加载按钮的网页,因此我不必在模板中为每个按钮创建一个新的按钮元素。我正在使用Scala和Play 2.4.6。

我想我会将数组传递给template.scala.html,如下所示:

@(buttonGroup1: Array)(buttonGroup2: Array)(buttonGroup3: Array)

我只是不确定如何迭代数组以生成所有按钮。

1 个答案:

答案 0 :(得分:0)

您可以定义按钮类型,如下所示:

case class Button(id: String, text: String, ...)

然后在你的视图中使用它:

@(buttonGroup1: Seq[Button], buttonGroup2: Seq[Button], buttonGroup3: Seq[Button])

@for(button <- buttonGroup1) {
  <button id="@button.id">@button.text</button>
}

...

等等。然后像这样调用视图:

val content = views.html.buttons(Seq(Button("foo", "bar")), ..., ...)

请参阅https://www.playframework.com/documentation/2.4.x/ScalaTemplates