内部的小胡子模板字符串呈现为HTML

Sno*_*Mac 55 html javascript jquery mustache

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

我有这个json对象:

  {
    title: "Foo bar", 
    content: "<p> Html here </p>", 
    footer: "footer content here"
  }
Run Code Online (Sandbox Code Playgroud)

我有一个Mustache模板,如:

  <div id="box">
    <div id="title"> {{title}} </div> 
    <div id="content"> {{content}} </div> 
    <div id="footer"> {{footer}} </div> 
  </div>
Run Code Online (Sandbox Code Playgroud)

我的问题是变量内容中的html没有被渲染,而只是被打印到屏幕上.

我看到(在非视图源窗口中)<p> Html here </p>:,如果我查看页面源,我只想看到它.

我怎么能解决这个问题,当我将一个字符串传递给一个小胡子模板时,HTML内部会被渲染?我在调用mustache.render(templates.all,data); 我打电话给小胡子.

Amy*_*Amy 124

Mustache文档:

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

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

  <div id="box">
    <div id="title"> {{title}} </div> 
    <div id="content"> {{{content}}} </div> 
    <div id="footer"> {{footer}} </div> 
  </div>
Run Code Online (Sandbox Code Playgroud)