Javascript 如何在Phoenix(Elixir)渲染中使用变量注入HTML/操作DOM,例如动态插入SVG或PNG?

Javascript 如何在Phoenix(Elixir)渲染中使用变量注入HTML/操作DOM,例如动态插入SVG或PNG?,javascript,dom,phoenix-framework,elixir,Javascript,Dom,Phoenix Framework,Elixir,如果我将一些svg传递给视图(例如svg变量),我可以使用以下命令渲染到视图中: <%= @svg %> 但是,在DOM中,我可以检查页面并智能地看到phoenix默认不呈现SVG,因为它是字符串表示。但是,我不知道如何覆盖该默认值,以便能够正确地插入dom/呈现SVG,而不仅仅是在页面中显示字符串,而是实际呈现图像。我该怎么做?我是否必须使用javascript进行渲染,这也没关系,但如果只是在服务器端进行渲染,那就太好了 非常感谢 为了不转义内容,您可以使用该函数 以下是生成S

如果我将一些svg传递给视图(例如svg变量),我可以使用以下命令渲染到视图中:

<%= @svg %>
但是,在DOM中,我可以检查页面并智能地看到phoenix默认不呈现SVG,因为它是字符串表示。但是,我不知道如何覆盖该默认值,以便能够正确地插入dom/呈现SVG,而不仅仅是在页面中显示字符串,而是实际呈现图像。我该怎么做?我是否必须使用javascript进行渲染,这也没关系,但如果只是在服务器端进行渲染,那就太好了


非常感谢

为了不转义内容,您可以使用该函数

以下是生成SVG QRCode的示例:

<section>
  <p style="text-align:center">
    <%=
      Routes.some_path(MyApp.Endpoint, :index, @some_id)
      |> QRCode.create!(:high)
      |> QRCode.Svg.create()
      |> raw()
    %>
  </p>
</section>

它生成内联SVG。请注意,raw/1函数会自动导入到模板中。

也许您正在寻找类似的东西?考虑到这一点的简单性,我最终实现的黑客js dom操作更加令人尴尬。只需要一个三个字母的函数就行了!谢谢你的信息!