로직을 돕기 위해 핸들 막대에서 도우미를 만들었지 만 템플릿은 HTML 대신 텍스트로 반환 된 HTML을 구문 분석합니다.핸들 막대 텍스트로 템플릿 렌더링 템플릿
나는 퀴즈가 완료된 후 렌더링되는 퀴즈 결과 페이지가 :
Handlebars.registerHelper("round_end_result", function() {
if (this.correct) {
var source = '';
if (this.guess == this.correct) {
console.log("correct guess");
var source = $("#round-end-correct").html();
} else {
var source = $("#round-end-wrong").html();
}
var template = Handlebars.compile(source);
var context = this;
var html = template(context);
console.log(html);
return html;
} else {
console.log("tie");
}
});
: 라운드의 각각에 대해
<script id="quiz-result" type="text/x-handlebars-template">
{{#each rounds}}
{{round_end_result}}
{{/each}}
<div class="clear"></div>
</script>
을, 나는 라운드의 결과를 렌더링 할 템플릿을 결정하기 위해 도우미를 사용
<script id="round-end-correct" type="text/x-handlebars-template">
<div></div>
</script>
: 여기
은 정확한 라운드를 설명하는 템플릿 (는 # 라운드 최종 올바른 템플릿을 렌더링 말의가 보자)입니다 여기
렌더링됩니다 것입니다 :
<div></div>
하지 HTML로서가 아니라 텍스트로. 텍스트를 HTML이 아닌 HTML로 렌더링하려면 어떻게해야합니까?
2 개의 매개 변수로 registerBoundHelper를 사용할 때이 메서드가 작동하지 않습니다. 그러나 "return Handlebars.SafeString (result);" 나를 위해 일했다. – Presse
이 반응합니까? – Sebastian