J'utilise Moustache pour rendre les modèles.
J'ai cet objet json:
{
title: "Foo bar",
content: "<p> Html here </p>",
footer: "footer content here"
}
J'ai un modèle de moustache comme:
<div id="box">
<div id="title"> {{title}} </div>
<div id="content"> {{content}} </div>
<div id="footer"> {{footer}} </div>
</div>
Mon problème est que le html dans le contenu variable n'est pas rendu mais est simplement imprimé à l'écran.
Je vois (dans la fenêtre source non visible): <p> Html here </p>
, où je ne voudrais voir cela que si je consultais la page source.
Comment puis-je résoudre ce problème lorsque, lorsque je passe une chaîne à un modèle de moustache, le code HTML à l'intérieur est rendu? J'appelle mustache.render (templates.all, data); comme mon appel à la moustache.
De la documentation Moustache :
Toutes les variables sont échappées HTML par défaut. Si vous souhaitez renvoyer du code HTML non échappé, utilisez la triple moustache: {{{name}}}.
Il vous suffit donc d'utiliser par exemple .{{{content}}}
dans votre modèle:
<div id="box">
<div id="title"> {{title}} </div>
<div id="content"> {{{content}}} </div>
<div id="footer"> {{footer}} </div>
</div>