이스케이프없이 핸들 바 템플릿에 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 이스케이프 값으로 반환됩니다 {{expression}}. 핸들 바가 값을 이스케이프하지 않게 하려면 "triple-stash"를 사용하십시오 {{{.


27
한 번, 간단한 것 .
Madbreaks

7
솔직히 눈치 채기가 어려워서 그들이 선택한 최악의 것 같습니다. 왜 간단하지만 눈에 보이는 것이 아닌가 {{ rawHtml expression }}?
danneu

1
@danneu에 동의하십시오. 마법이나 귀여운 속기가 없습니다. 장기적으로 명시 적이 더 좋습니다.
Matt

29

템플릿에서 이와 같은 트리플 수염을 추가해야합니다. <p>{{{content}}}</p>


11

Handlebars 설명서에 따르면 http://handlebarsjs.com/expressions.html

문서 에서 인용 ,

핸들 바가 값을 이스케이프하지 않게하려면 "triple-stash"를 사용하십시오. {{{

원시 HTML을 핸들 바 템플리트에 전달하고 삼중 괄호를 사용하여 원시 HTML 출력을 가져 오십시오.

{{{foo}}}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.