2011-07-03 32 views
8

tôi có mã trong mẫu scala như:Làm cách nào để khai báo và truy cập các biến cục bộ trong mẫu scala trong khung chơi?

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

Nhưng tôi nhận biên dịch báo lỗi: thư giá trị không được tìm thấy. Làm cách nào để tôi có thể khai báo các biến và có thể truy cập sau này trong đánh dấu như trên?

+0

Sao chép/dán sai? Tuyên bố nói 'va', không phải' val' ... – Dirk

+0

Có thể trùng lặp của [Khai báo biến trong mẫu scala Play2] (http://stackoverflow.com/questions/12031146/declare-variable-in-a-play2- scala-template) – pathikrit

Trả lời

7

Thực ra tôi chưa bao giờ thấy @if cũng như tôi chưa thử PlayFramework. Nhưng nếu là những gì tôi nghĩ rằng nó là, có vẻ như khi bạn thực sự cố gắng để yêu cầu thư nó đã ra khỏi phạm vi. Điều gì sẽ xảy ra nếu bạn sắp xếp lại các dấu ngoặc vuông như sau?

@for(col <- List.range(0,12)) { 
    <td> 
    @if(col % 2 == 0) { 
     @{val letter = someMap(col) 
     <div class="[email protected](letter)@(letter)s"></div> 
     } 
    } 
    </td> 
} 
Các vấn đề liên quan