it-swarm.com.de

Schnurrbartvorlagenzeichenfolge im Inneren als HTML rendern

Ich verwende Moustache zum Rendern von Vorlagen.

Ich habe dieses JSON-Objekt:

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

Ich habe eine Schnurrbart-Vorlage wie:

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

Mein Problem ist, dass der HTML-Code innerhalb des variablen Inhalts nicht gerendert wird, sondern nur auf dem Bildschirm gedruckt wird.

Ich sehe (im Nicht-Quellfenster): <p> Html here </p>, wo ich das nur sehen möchte, wenn ich die Seitenquelle betrachte.

Wie kann ich das beheben, wenn ich eine Zeichenfolge an eine Schnurrbartvorlage übergebe, wird der darin enthaltene HTML-Code gerendert? Ich rufe mustache.render (templates.all, data) auf. wie mein Ruf nach Schnurrbart.

52
Snow_Mac

Aus der Moustache-Dokumentation :

Alle Variablen sind standardmäßig HTML-geschützt. Wenn Sie HTML ohne Flucht zurückgeben möchten, verwenden Sie den dreifachen Schnurrbart: {{{name}}}.

Also musst du nur zB .{{{content}}} in Ihrer Vorlage:

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