gpt4 book ai didi

templates - 如何让Jade停止HTML编码元素属性,并产生一个文字字符串值?

转载 作者:行者123 更新时间:2023-12-02 22:12:56 26 4
gpt4 key购买 nike

更新 Jade v0.24.0 通过 != 修复了此问题属性的语法。 option(value!='<%= id %>')

<小时/>

我正在尝试构建一个 <option>与jade,其中选项的值是UnderscoreJS模板标记:<%= id %>但我无法让它工作,因为 jade 正在将我的标记文本转换为 &lt;= id &gt; .

这是我的 Jade 标记:

script(id="my-template", type="text/template")
select(id="type")
&lt;% _.each(deviceTypes, function(type){ %>
option(value='&lt;%= type.id %>') <%= type.name %>
&lt;% }) %>

我希望它生成这个 html:

<script id="my-template" type="text/template">
<select id='type'>
<% _.each(deviceTypes, function(type){ %>
<option value="<%= type.id %>"> <%= type.name %> </option>
<% }) %>
</select>
</script>

但我得到的是:

<script id="my-template" type="text/template">
<select id='type'>
<% _.each(deviceTypes, function(type){ %>
<option value="&lt;%= type.id %&gt;"> <%= type.name %> </option>
<% }) %>
</select>
</script>

请注意 <option> 中非常微妙的差异输出行... value该选项的属性已被 HTML 编码。

如何防止 Jade 对该值进行 HTML 编码?我需要它来生成文字值,就像处理选项文本一样。

最佳答案

Derick 已经提到 Jade 在更新中添加了新的 unescape HTML 编码功能,但我想为可能不认识的人添加一些附录。

- var html = "<script></script>"
| !{html} <-- Escaped
| #{html} <-- Encoded

来自https://github.com/visionmedia/jade

关于templates - 如何让Jade停止HTML编码元素属性,并产生一个文字字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111232/

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