表格中的交替奇数行

时间:2016-07-18 08:07:13

标签: elixir phoenix-framework

我想将pure-table-odd仅添加到每个奇数表行。在Ruby on Rails中,我会使用cycle。在凤凰城实现这一目标的最佳方法是什么,它占用最少的CPU功率?

<%= for group <- @groups do %>
  <tr class="pure-table-odd">
    <td><%= group.name %></td>
  </tr>
<% end %>

1 个答案:

答案 0 :(得分:2)

一种简单的方法是将索引与组一起获取并检查rem(index, 2) == 1

<%= for {group, index} <- Enum.with_index(@groups) do %>
  <tr class="<%= if rem(index, 2) == 1, do: "pure-table-odd" %>">
    <td><%= group.name %></td>
  </tr>
<% end %>

使用Stream.zipStream.cycle的更奇特的方式, 但很可能效率低下:

<%= for {group, class} <- Stream.zip(@groups, Stream.cycle(["", "pure-table-odd"])) do %>
  <tr class="<%= class %>">
    <td><%= group.name %></td>
  </tr>
<% end %>