Подтвердить что ты не робот

Строка шаблона 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); как мой призыв к усам.

4b9b3361

Ответ 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>