Phoenix 动态类名 Phoenix.HTML

Kri*_*sel 5 html elixir phoenix-framework

我想将动态类名与静态类名连接起来。

<div class=<%="#{getClass(app.status)} two" %>
Run Code Online (Sandbox Code Playgroud)

这导致

<div class="one" two>
Run Code Online (Sandbox Code Playgroud)

代替

<div class="one two">
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Jul*_*Smz 6

如果您在 Elixir 中使用 Phoenix,可以通过以下方式:

<div class={"fixed-left #{if @current_user do 'login-page' end}"}>


小智 1

你应该使用<div class="<%= getClass(app.status)} %> two">.
<%= %>评估 Elixir 代码并将结果注入 HTML 的任何部分。
您可以在 HTML 标记内注入值:

<div>
  <%= @user_name %>
</div>
Run Code Online (Sandbox Code Playgroud)

或任何 HTML 属性

<a class="btn <%= if(@alert, do: "btn-danger", else: "btn-primary") %>">...</a>
Run Code Online (Sandbox Code Playgroud)

或者设置HTML属性

<button class="btn btn-success" <%= if(@disable_button, do: "disabled", else: "tooltip=\"button is working\"") %>">...</button>
Run Code Online (Sandbox Code Playgroud)