我花了一些时间学习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应该具有哪种类型?
我知道每个模板只是一个scala函数但是如何处理它们?
答案 0 :(得分: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>
表示模板基本上已编译成函数。因此,您需要定义正确的参数,并明显传递正确的参数。