即使定义了变量,我也会收到not found: value counter
。
对此有何帮助?我是斯卡拉的新手,一切都是我的眼睛。感谢
@{def counter = 0}
@for(atg <- Activity.groupContiguous(activityGroup)) {
@if(!atg.isEmpty) {
@views.html.activity.activityTypeGroup(atg, counter))
}
counter = counter + 1
}
答案 0 :(得分:3)
您的代码不起作用,因为@{def counter = 0}
未在模板范围内定义任何内容并返回Unit
。我不知道在scala模板中定义可变变量的任何方便方法,实际上这是不鼓励的。
可以使用功能方法轻松重写代码:
@for((atg, counter) <- Activity.groupContiguous(activityGroup).filterNot(_.isEmpty).zipWithIndex) {
@views.html.activity.activityTypeGroup(atg, counter))
}
答案 1 :(得分:0)
查看其他类似问题,您可以使用zipWithIndex
https://stackoverflow.com/a/14613877/1066240
你会发现其他有用的例子。