Строка шаблона Mustache внутри render как HTML
Я использую Усы, чтобы отображать шаблоны.
У меня есть этот json-объект:
{
title: "Foo bar",
content: "<p> Html here </p>",
footer: "footer content here"
}
У меня есть шаблон Mustache, например:
<div id="box">
<div id="title"> {{title}} </div>
<div id="content"> {{content}} </div>
<div id="footer"> {{footer}} </div>
</div>
Моя проблема заключается в том, что html внутри содержимого переменной не обрабатывается, а вместо этого просто печатается на экране.
Я вижу (в окне источника не просмотра): <p> Html here </p>
, где я хотел бы видеть только это, если бы я просмотрел источник страницы.
Как я могу исправить такое, что, когда я передаю строку в шаблон уса, HTML внутри становится визуализированным? Я вызываю усы .render(templates.all, data); как мой призыв к усам.
Ответы
Ответ 1
Из Документация Mustache:
Все переменные по умолчанию экранируются HTML. Если вы хотите вернуться unescaped HTML, используйте тройные усы: {{{name}}}.
Поэтому вам просто нужно использовать, например, {{{content}}}
в вашем шаблоне:
<div id="box">
<div id="title"> {{title}} </div>
<div id="content"> {{{content}}} </div>
<div id="footer"> {{footer}} </div>
</div>