Вставте HTML в шаблон ручки, не тікаючи


143

Чи є спосіб вставити рядок із тегами HTML у шаблон шаблону, не тегуючи у теці, що виходить?

template.js:

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

використовувати шаблон

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

фактичний результат:

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

Очікуваний результат:

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

Відповіді:


350

Спробуйте як

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

Я отримав офіційну посилання на підтримку моєї відповіді:

Значення вхідних значень HTML, що повертаються a {{expression}}. Якщо ви не хочете , щоб уникнути рулів значення, використовувати «потрійну заначку», {{{.


27
Одного разу щось просте .
Madbreaks

7
Чесно кажучи, це найгірше, що вони могли обрати, оскільки це важко помітити. Чому б не просто щось просте, але видиме, як {{ rawHtml expression }}.
danneu

1
Погодьтеся з @danneu. Ніякої магії чи милої стенограми, будь ласка. Явне краще в довгостроковій перспективі.
Метт


11

Відповідно до документації на рулі, http://handlebarsjs.com/expressions.html

Цитата з документації ,

Якщо ви не хочете, щоб ручки не отримували значення, використовуйте "потрійну скриньку", {{{

Передайте необроблений HTML в шаблон рулевих панелей і отримайте вихідний HTML, використовуючи потрійні дужки.

{{{foo}}}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.