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>
Andreas Köberle
źródło
Możliwy duplikat szablonu renderowania szablonu
kierownicy

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” {{{.

Praveen
źródło
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
29

W swoim szablonie musisz dodać takie potrójne wąsy. <p>{{{content}}}</p>

Jernej Novak
źródło
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}}}
Lorem Ipsum Dolor
źródło