簡體   English   中英

如何在play框架中聲明和訪問scala模板中的局部變量?

[英]How to declare and access local variables in scala template in play framework?

我在 scala 模板中有代碼,例如:

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

但是我得到編譯錯誤:找不到值字母。 我如何聲明變量並能夠稍后在上面的標記中訪問?

實際上,我從未見過@if,也從未嘗試過 PlayFramework。 但是,如果是我認為的那樣,那么當您實際嘗試要信時,似乎已經超出了 scope。 如果您按如下方式重新排列括號會發生什么?

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

我在 Play Framework 2.8.x 上進行這項工作的唯一方法是使用Scala 的 Range function:

@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>
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM