UPDATE Jade v0.24.0 исправляет это с помощью синтаксиса !=
для атрибутов. option(value!='<%= id %>')
Я пытаюсь создать <option>
с jade, где значение параметра является маркером UnderscoreJS: <%= id %>
, но я не могу заставить его работать, потому что jade преобразует текст моего маркера в <= id >
.
Здесь моя разметка нефрита:
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, кодирующего это значение? Мне нужно, чтобы оно выдавало буквальное значение, так же, как и с текстом опции.