【问题标题】:How can I add an attribute dynamically in Slim lang?如何在 Slim lang 中动态添加属性?
【发布时间】:2016-05-14 01:36:02
【问题描述】:

在我的 Exlir/Phoenix 应用中,我使用的是 slim,我想动态添加一个属性:

input type="checkbox" <%= if some_condition, do: ~s{checked="checked"} %>

然而,slim 将输入标签内的 checked="checked" 渲染为其内容,并且更重要的是,它被转义了。 如何动态添加属性checked="checked"?请注意:

input type="checkbox" checked="<%= if some_condition, do: ~s{checked} %>"

对我不起作用,因为我需要要么将整个checked="checked" 添加到标签中,要么根本不添加nothing

【问题讨论】:

    标签: html elixir phoenix-framework slim-lang


    【解决方案1】:

    您可以为属性分配一个布尔值,如果值为true,它只会输出属性名称。这应该相当于在 HTML5 中添加checked="checked"

    iex(1)> IO.puts Slime.render("input type=\"checkbox\" checked=some_condition", some_condition: false)
    <input type="checkbox">
    :ok
    iex(2)> IO.puts Slime.render("input type=\"checkbox\" checked=some_condition", some_condition: true)
    <input type="checkbox" checked>
    

    Slime's README中也提到了这一点。

    【讨论】:

    • 这有点令人困惑——有一个 slime 库可以将 slim 与 Elixir 一起使用。 :) 有一分钟我以为你打错了。
    猜你喜欢
    • 2016-05-13
    • 2016-03-13
    • 2020-10-31
    • 2017-01-07
    • 2014-12-15
    • 2021-10-19
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多