Elixir 使用整数。模板中的\u是否为偶数(计数)
我自定义Elixir 使用整数。模板中的\u是否为偶数(计数),elixir,phoenix-framework,Elixir,Phoenix Framework,我自定义phx.gen.html模板以使用TailwindCSS。在:show模板中,我使用以下代码: <%= for {{k, _}, counter} <- Enum.with_index(schema.attrs) do %> <% bg_color = if Integer.is_even(counter), do: "bg-gray-50", else: "bg-white" %> <div class
phx.gen.html
模板以使用TailwindCSS。在:show
模板中,我使用以下代码:
<%= for {{k, _}, counter} <- Enum.with_index(schema.attrs) do %>
<% bg_color = if Integer.is_even(counter), do: "bg-gray-50", else: "bg-white" %>
<div class="<%= bg_color %>">
[...]
</div>
<% end %>
整数是偶数(计数器)就是问题所在
- 我如何在此处要求
Integer
- 在“bg-gray-50”和“bg白色”之间迭代
的值,是否有更好/更容易/更干净的方法bg_color
[...]
多亏了@aleksei matiushkin我对tailwindcss不太熟悉,但这通常可以完全通过CSS完成 在我看来,tailwindcss确实支持 所以我可以想象,在对你的顺风配置进行一个小的调整之后,你可以给你所有的div一个相同的类(我相信CSS子索引从1开始,所以我把什么叫做“偶数”):
通话前
show.html.eex
中的任何位置。另外,是一个普通函数。这是一个有趣的问题。谢谢
** (CompileError) ./priv/templates/tailwind.gen.html/show.html.eex:10:
you must require Integer before invoking the macro Integer.is_even/1
(elixir 1.11.2) expanding macro: Kernel.if/2
./priv/templates/tailwind.gen.html/show.html.eex:10: (file)
<% require Integer %>
<%= for {{k, _}, counter} <- Enum.with_index(schema.attrs) do %>
<% bg_color = if Integer.is_even(counter), do: "bg-gray-50", else: "bg-white" %>
<div class="<%= bg_color %>">
[...]
</div>
<% end %>
<%= for {k, _} <- schema.attrs do %>
<div class="bg-gray-50 even:bg-white">
[...]
</div>
<% end %>