0

私は Play 2 の学習に時間を費やしましたが、今は自分のプロジェクトを一般化したいと考えています。エンティティのリストをレンダリングするためのビューがあり、エンティティをこのリストにレンダリングするパラメータとして別のビューを渡したいと考えています。例えば:

// showList.scala.html
@(entityList: List[Entity], /* Template for one Entity render. Named entityRenderer*/)
@for(entity <- entityList) 
 entityRenderer(entity)

// entityRenderer.scala.html
@(entity: Entity)
    @entity.getName()

どのタイプのentityRendererが持つべきですか?

各テンプレートが単なるスカラ関数であることは知っていますが、それらをどのように扱うのですか?

4

1 に答える 1

0

あなたの質問を理解できれば、次のことをお勧めします。

// file main.scala.html
@(entityList: Page[models.Task]) // here we define a Page of entities
@for(entity <- entityList.getList) {
    <ul>
        @tags.entityRenderer(entity) // here we call another view passing the entity
    </ul>
}

そして他のファイル:

// file entityRenderer.scala.html in package tags
@(entity: Task) // here we define the incoming arguments
     <li>entity.property</li>

テンプレートは基本的に関数にコンパイルされていることに注意してください。したがって、正しい引数を定義し、明らかに正しい引数を渡す必要があります。

于 2012-06-01T21:38:26.060 に答える