2014-02-07 49 views
0

即使定義了變量,我仍收到not found: value counter。 對此有何幫助?我是scala新手,一切都是我眼中的新鮮事物。由於接收「未找到:值」即使變量已定義

@{def counter = 0} 
@for(atg <- Activity.groupContiguous(activityGroup)) { 
    @if(!atg.isEmpty) { 
    @views.html.activity.activityTypeGroup(atg, counter)) 
    } 
    counter = counter + 1 
} 

回答

3

您的代碼不起作用,因爲@{def counter = 0}不會在模板範圍定義任何東西,返回Unit。我不知道在scala模板中定義可變變量的方便方法,這實際上是不鼓勵的。

的代碼可以使用功能的方法來輕易改寫:

@for((atg, counter) <- Activity.groupContiguous(activityGroup).filterNot(_.isEmpty).zipWithIndex) { 
    @views.html.activity.activityTypeGroup(atg, counter)) 
} 
+0

+1爲好的解決方案 – serejja

+0

感謝vitali,另外的問題。我如何增加計數器值?我試過counter = counter + 1,但是在檢查視圖時結果變成了0 = counter + 1; – Monnster

+0

得到了答案......它已經在增加。感謝Vitalii – Monnster