68

我正在使用 Mustache 来呈现模板。

我有这个 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>:,如果我查看页面源,我只想看到它。

如何解决这样的问题,当我将字符串传递给 mustache 模板时,内部的 HTML 会被渲染?我打电话给 mustache.render(templates.all,data); 作为我对小胡子的召唤。

4

1 回答 1

156

来自Mustache 文档

默认情况下,所有变量都是 HTML 转义的。如果要返回未转义的 HTML,请使用三重胡须:{{{name}}}。

所以你只需要使用例如。{{{content}}}在您的模板中:

  <div id="box">
    <div id="title"> {{title}} </div> 
    <div id="content"> {{{content}}} </div> 
    <div id="footer"> {{footer}} </div> 
  </div>
于 2013-05-28T20:08:45.400 回答