В игре/Скале; Я смущен тем, почему это не скомпилируется:
@(tabNames: Seq[String])
@isActive(idx: Int) = {
@if(idx < 1) {
"active"
} else {
""
}
}
<ul class="nav nav-tabs">
@for((tab, idx) <- tabNames.zipWithIndex) {
@views.html.generic.navLi("tab" + idx.toString, tab, isActive(idx))
}
</ul>
Ошибка гласит:
найдено: play.twirl.api.HtmlFormat.Appendable [ошибка] (которая расширяется до) play.twirl.api.Html [ошибка] требуется: String [ошибка]
@views.html.generic.navLi("tab" + idx.toString, вкладка, isActive(idx))
Он не распознает вызов isActive
в вызове шаблона, и я пробовал несколько вариантов, например. @isActive(idx)
, isActive(@idx)
${isActive(idx)}
(как предложено здесь ) и т. д. Этот шаблон создает панель навигации, передавая имена вкладок и проверяя, должно ли nav li
быть active
(настроено по имени класса/JS).
Просто кажется, что синтаксис должен быть другим при вызове функции в другом вызове шаблона - я не могу понять это правильно.