저는 Scala와 Play Framework를 사용하고 있습니다. Widgets
의의 Iterable을 감안할 때 다음과 같이 나는 쉽게 그들을 통해 루프 및 인쇄 할 수 있습니다 (이것은 재생 템플릿 내에 있기 때문에 @를 사용하지만이 질문을 위해 무시 될 수있다) :청크 반복 반복자 작성하기
@for(widget <- widgets) {
<div>My widget: @widget</div>
}
지금 가정 행마다 3 개의 위젯을 표시해야하는 열 레이아웃이 있습니다. 다음과 같이 I 출력 HTML을 싶어 말 : 나는 쓰기를 시도하고
<div class="row">
<div>widget</div>
<div>widget</div>
<div>widget</div>
</div>
<div class="row">
<div>widget</div>
<div>widget</div>
<div>widget</div>
</div>
<div class="row">
<div>widget</div>
</div>
상기 모드 검사 (또는 구현 단)를 내면화 할 수 있도록이를 달성하기 반복자를 "청크". 그래서 다른 말로하면, 내가 쓸 수 있다면 좋을 것이라고 생각 :
@chunk(3) {
<div class="row"> <!-- gets printed once per chunk -->
@for(widget <- widgets) { // gets called for each widget in widgets
<div>@widget</div>
}
</div> <!-- gets printed once per chunk -->
}
를하지만이는 다음과 같이 호출 할 수있는 올바른 방법이 아니다 : 청크 호출이되도록 위젯의 컨텍스트를 가질 필요가 "내부"반복이 제대로 호출 될 수 있습니다 (각 청크마다 한 번). 스칼라에서 구현을 진행하는 가장 좋은 방법은 무엇인지 모르겠습니다.
물론 색인을 사용하여 루프를 작성하고 mod 검사를 수행하는 것만으로도됩니다. 그러나 그것이 해결책의 깨끗한 것이라고 생각하지 마십시오. Play의 템플릿 엔진에 내장 된 것과 같은 것을 찾을 수 없었습니다. 예를 들어 Freemarker는 chunked operation을 제공합니다.
이 완벽합니다. 고맙습니다 – oym