web-dev-qa-db-ja.com

HTMLとしてレンダリングする内部の口ひげテンプレート文字列

Moustacheを使用してテンプレートをレンダリングしています。

私はこのjsonオブジェクトを持っています:

  {
    title: "Foo bar", 
    content: "<p> Html here </p>", 
    footer: "footer content here"
  }

私のような口ひげテンプレートがあります:

  <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がレンダリングされるように修正するにはどうすればよいですか? mustache.render(templates.all、data);を呼び出しています。口ひげへの私の呼び出しとして。

52
Snow_Mac

Mustache documentation から:

すべての変数はデフォルトでHTMLエスケープされています。エスケープされていないHTMLを返したい場合は、トリプルヒゲ{{{name}}}を使用します。

したがって、テンプレートでeg .{{{content}}}を使用するだけです。

  <div id="box">
    <div id="title"> {{title}} </div> 
    <div id="content"> {{{content}}} </div> 
    <div id="footer"> {{footer}} </div> 
  </div>
121
Amy