Insérer du HTML dans un modèle de guidon sans échapper


143

Existe-t-il un moyen d'insérer une chaîne avec des balises html dans un modèle de guidon sans échapper les balises dans la chaîne sortante?

template.js:

<p>{{content}}</p>

utiliser le modèle

HBS.template({content: "<i>test</i> 123"})

résultat réel:

<p>&lt;i&gt;test&lt;/i&gt; 123</p>

résultat attendu:

<p><i>test</i> 123</p>

Réponses:


350

Essayez comme

<p>{{{content}}}</p>

J'ai la référence officielle pour soutenir ma réponse:

Les valeurs d'échappement HTML des guidons renvoyées par a {{expression}}. Si vous ne voulez pas Guidons d'échapper à une valeur, utilisez la « triple-planque », {{{.


27
Pour une fois, quelque chose de simple .
Madbreaks

7
Honnêtement, cela semble être la pire chose qu'ils auraient pu choisir car c'est difficile à remarquer. Pourquoi pas juste quelque chose de simple mais visible comme {{ rawHtml expression }}.
danneu le

1
D'accord avec @danneu. Pas de sténographie magique ou mignonne, s'il vous plaît. Explicite, c'est mieux à long terme.
Matt le

29

Dans votre modèle, vous devez ajouter des moustaches triples comme celle-ci. <p>{{{content}}}</p>


11

Selon la documentation de Handlebars, http://handlebarsjs.com/expressions.html

Citation de la documentation ,

Si vous ne voulez pas que Handlebars échappe une valeur, utilisez le "triple-stash", {{{

Passez le modèle HTML brut au modèle Handlebars et obtenez la sortie HTML brute en utilisant des crochets triples.

{{{foo}}}
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.