如何在播放旋转模板内创建一个变量?
问题描述:
我有我传递给我的看法,看起来像一个模型:如何在播放旋转模板内创建一个变量?
IndexModel(productSales: Seq[ProductSale])
case class ProductSale(id: Int, name: String, soldAt: java.time.ZonedDateTime)
现在我想显示的产品销售的清单,但我把标题为的一天,然后列出所有销售的那一天这么喜欢:
2016年7月10日
产品1
产品2
2016年7月11日
产品24 产品2234
我能想到这样做会要求我当天到存储在一个变量的唯一途径,所以伪代码如下:
@currentDay = -1
@for(ps <- model.ProductSales) {
@if(currentDay != ps.SoldAt.getDayOfMonth) {
<h1>@ps.soldAt</h1>
@currentDay = ps.SoldAt.getDayOfMonth
}
<li>@ps.name - @ps.id </li>
}
我应该如何去做这个使用旋转?
答
尝试(未测试):
@for(currentDate <- model.productSales.map(_.soldAt).distinct) {
<h1>@currentDate</h1>
@for(ps <- model.productSales.filter(_.soldAt == currentDate) {
<li>@ps.name - @ps.id</li>
}
}
如果你要声明你需要使用@defining(){...}
变量 - 在这里阅读更多:https://www.playframework.com/documentation/2.5.x/JavaTemplates#Declaring-reusable-values