【问题标题】:How to declare and access local variables in scala template in play framework?如何在play框架的scala模板中声明和访问局部变量?
【发布时间】:2011-09-27 17:21:48
【问题描述】:

我在 scala 模板中有如下代码:

@for(col <- List.range(0,12)) {
    <td>
        @if(col % 2 == 0) {
            @{ val letter = someMap(col) }
            <div class="z@(letter)@(letter)s"></div>
        }
    </td>
}

但我得到编译错误:未找到值字母。 我怎样才能声明变量并能够稍后在上面的标记中访问?

【问题讨论】:

标签: scala playframework


【解决方案1】:

实际上,我从未见过@if,也从未尝试过PlayFramework。但是,如果是我认为的那样,那么当您实际尝试索要信件时,它似乎已经超出了范围。如果按如下方式重新排列括号会发生什么?

@for(col <- List.range(0,12)) {
  <td>
    @if(col % 2 == 0) {
      @{val letter = someMap(col)
        <div class="z@(letter)@(letter)s"></div>
      }
    }
  </td>
}

【讨论】:

    【解决方案2】:

    我在 Play Framework 2.8.x 上使用此功能的唯一方法是使用 Scala's Range 函数:

    @import scala.collection.immutable.Range
    
    @for(col <- Range(0,12)) {
      <td>
        @if(col % 2 == 0) {
          @{val letter = someMap(col)
            <div class="z@(letter)@(letter)s"></div>
          }
        }
      </td>
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-28
      • 2012-08-15
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多