嗨所以我有一个while循环:
@for(i <- 0 until consoles.size) {
... Do something
... Add records to a column
}
但我想添加一个变量并根据具体情况将其添加到不同的组中。 例如:
@var column = 0;
@for(i <- 0 until consoles.size) {
@if(consoles[i].groupname != consoles[i - 1].groupname) {
column = column + 1;
}
... Do something
... Add records to a column
}
这可能吗?我发现的唯一的事情是通过传入一个变量并使用它,但我宁愿不这样做,虽然它只是一个int所以不向客户端发送更多信息我希望如果我可以在斯卡拉模板?
任何帮助都将不胜感激。
答案 0 :(得分:6)
在您的情况下,有更好的解决方案。由于模板位于scala中,因此您可以使用Collections的API中的一些很棒的方法,例如groupBy:
@myList.groupBy(_.groupname).map {
case (group, items) => {
<h2>@group</h2>
@items.map { item =>
...
}
}
}
Scala模板不需要Scala技能,但至少需要了解列表API,它才能真正节省生命!
答案 1 :(得分:3)
在播放模板中,您无法定义var
。此外,在Scala中,我们鼓励您使用不可变对象而不是可变对象。
你有两种选择可以做你想做的事:
val
s 除了@ Maxime的回答,您还可以使用val
defining
@defining(user.firstName + " " + user.lastName) { fullName =>
<div>Hello @fullName</div>
}