Tôi đã tạo một trình trợ giúp trong Handlebars để trợ giúp với logic, nhưng mẫu của tôi phân tích cú pháp html được trả về dưới dạng văn bản thay vì html.Handlebars Mẫu hiển thị mẫu dưới dạng văn bản
Tôi có một trang kết quả bài kiểm tra mà được trả lại sau khi bài kiểm tra được hoàn thành:
<script id="quiz-result" type="text/x-handlebars-template">
{{#each rounds}}
{{round_end_result}}
{{/each}}
<div class="clear"></div>
</script>
Đối với mỗi viên đạn, tôi sử dụng một helper để xác định mẫu sẽ hiển thị kết quả của một vòng:
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");
}
});
đây là một mẫu mô tả một vòng đúng (chúng ta hãy nói điều đó khiến cho # mẫu vòng-end-chính xác):
<script id="round-end-correct" type="text/x-handlebars-template">
<div></div>
</script>
Đây là những gì được hiển thị:
<div></div>
Không phải HTML, nhưng dưới dạng văn bản. Làm cách nào để tôi thực sự hiển thị HTML dưới dạng HTML chứ không phải văn bản?
Phương pháp này không hoạt động đối với tôi khi sử dụng registerBoundHelper với 2 tham số. Nhưng "trả về Handlebars.SafeString mới (kết quả);" đã làm cho tôi. – Presse
là phản ứng này? – Sebastian