Wstaw html do szablonu na kierownicę bez zmiany znaczenia


143

Czy istnieje sposób na wstawienie ciągu znaków ze znacznikami html do szablonu kierownicy bez uzyskiwania znaków ucieczki w ciągu wychodzącym?

template.js:

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

użyj szablonu

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

rzeczywisty wynik:

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

Spodziewany wynik:

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

Odpowiedzi:


350

Spróbuj

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

Otrzymałem oficjalne odniesienie na poparcie mojej odpowiedzi:

Handlebars HTML-Escapes wartości zwracane przez {{expression}}. Jeśli nie chcesz Kierownice uciec wartość, użyj „triple-zapas” {{{.


27
Tym razem coś prostego .
Madbreaks

7
Szczerze mówiąc, wydaje się, że jest to najgorsza rzecz, jaką mogli wybrać, ponieważ trudno to zauważyć. Dlaczego nie po prostu coś prostego, ale tak widocznego {{ rawHtml expression }}.
danneu,

1
Zgadzam się z @danneu. Żadnej magii ani uroczego skrótu, proszę. Wyraźne jest lepsze na dłuższą metę.
Matt


11

Zgodnie z dokumentacją Handlebars, http://handlebarsjs.com/expressions.html

Cytat z dokumentacji ,

Jeśli nie chcesz, aby kierownica zmieniała znaczenie, użyj „potrójnego skrytki”, {{{

Przekaż nieprzetworzony kod HTML do szablonu Handlebars i uzyskaj nieprzetworzony kod HTML za pomocą potrójnych nawiasów.

{{{foo}}}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.