ロジックを手助けするためにハンドルバーにヘルパーを作成しましたが、テンプレートは返されたhtmlをhtmlではなくテキストとして解析します。ハンドルバーテンプレートとしてのテンプレートレンダリングテンプレート
私はクイズが完了した後にレンダリングされるクイズの結果ページがあります。ラウンドのそれぞれについて
<script id="quiz-result" type="text/x-handlebars-template">
{{#each rounds}}
{{round_end_result}}
{{/each}}
<div class="clear"></div>
</script>
、私はラウンドの結果をレンダリングするテンプレートを決定するためにヘルパーを使用します。
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="round-end-correct" type="text/x-handlebars-template">
<div></div>
</script>
:ここ
は正しいラウンドを記述するテンプレートは(それが#ラウンド終了正しいテンプレートをレンダリングされたと言うのは、見てみましょう)でありますここ
は、レンダリングされるものです:ないHTMLとしてではなく、テキストとして
<div></div>
。実際にHTMLをテキストではなくHTMLとしてレンダリングするにはどうすればよいですか?
2つのパラメータでregisterBoundHelperを使用している場合、このメソッドは機能しませんでした。しかし、 "返す新しいHandlebars.SafeString(結果);"私のために働いた。 – Presse
これは反応性ですか? – Sebastian