获取当前循环的索引在Play! 2 Scala模板
发布时间:2020-12-16 09:39:00 所属栏目:安全 来源:网络整理
导读:在玩! 1,可以使用以下代码获取循环中的当前索引: #{list items:myItems,as: 'item'} liItem ${item_index} is ${item}/li#{/list} 在Play2中有一个等同的东西吗? @for(item - myItems) { liItem ??? is @item/li} _isLast和_isFirst的相同问题。 ps:thi
在玩! 1,可以使用以下代码获取循环中的当前索引:
#{list items:myItems,as: 'item'} <li>Item ${item_index} is ${item}</li> #{/list} 在Play2中有一个等同的东西吗? @for(item <- myItems) { <li>Item ??? is @item</li> } _isLast和_isFirst的相同问题。 ps:this question是非常相似的,但解决方案暗示修改代码返回一个元组(项目,索引),而不是一个项目列表。 解决方法
是的,zipWithIndex是内置的功能,幸运的是使用它更优雅的方式:
@for((item,index) <- myItems.zipWithIndex) { <li>Item @index is @item</li> } 索引为0,所以如果要从1而不是0开始,只需将1添加到当前显示的索引: <li>Item @{index+1} is @item</li> PS:回答你的另一个问题 – 不,没有隐含的索引,_isFirst,_isLast属性,无论如何你可以在循环中编写简单的Scala条件,基于压缩的索引(Int)和列表的大小(Int as好)。 @for((item,index) <- myItems.zipWithIndex) { <div style="margin-bottom:20px;"> Item @{index+1} is @item <br> @if(index == 0) { First element } @if(index == myItems.size-1) { Last element } @if(index % 2 == 0) { ODD } else { EVEN } </div> } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |