68

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

私はこの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 がレンダリングされず、代わりに画面に出力されることです。

I see (in-view source window): <p> Html here </p>、ページのソースを表示した場合にのみ表示したい場所。

文字列を口ひげテンプレートに渡すと、内部の HTML がレンダリングされるように修正するにはどうすればよいですか? mustache.render(templates.all,data); を呼び出しています。口ひげへの私の呼びかけとして。

4

1 に答える 1

156

口ひげのドキュメントから:

すべての変数は、デフォルトで 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 に答える