更新Jade v0.24.0 使用!=
属性语法修复了这个问题。option(value!='<%= id %>')
我正在尝试<option>
使用玉构建一个,其中选项的值是一个 UnderscoreJS 模板标记:<%= id %>
但我无法让它工作,因为玉正在将我的标记文本转换为<= id >
.
这是我的 Jade 标记:
script(id="my-template", type="text/template")
select(id="type")
<% _.each(deviceTypes, function(type){ %>
option(value='<%= type.id %>') <%= type.name %>
<% }) %>
我希望它产生这个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="<%= type.id %>"> <%= type.name %> </option>
<% }) %>
</select>
</script>
请注意输出行中非常细微的差异<option>
......value
选项的属性已被 HTML 编码。
如何防止 Jade 对这个值进行 HTML 编码?我需要它来产生文字值,就像它对选项的文本所做的那样。