gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 02:38:03 32 4
gpt4 key购买 nike

如果我有一些 svg 通过分配给 svg 变量上的 View ,我可以使用以下方式渲染到 View 中:

<%= @svg %>

但是,在 DOM 中,我可以检查页面并智能地看到 phoenix 默认不渲染 SVG,因为它是字符串表示形式。但是,我不知道如何覆盖该默认值,以便我可以正确地注入(inject) dom/渲染 SVG,而不仅仅是在页面中显示字符串,而是实际渲染图像。我该怎么做?我是否必须在事后使用 javascript 进行渲染 - 这也没关系,但仅在服务器端渲染会非常好。

非常感谢!

最佳答案

为了使内容不被转义,可以使用 Phoenix.HTML.raw/1功能。

以下是 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 函数会自动导入到模板中。

关于javascript - 如何在 Phoenix (Elixir) 渲染中注入(inject) HTML/使用变量操作 DOM,例如动态插入 SVG 或 PNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64037714/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com