Ho creato un helper in Handlebars per aiutare con la logica, ma il mio modello analizza il codice HTML restituito come testo anziché come html.Handlebars Modello di rendering modello come testo
ho una pagina dei risultati del quiz che è resa dopo che il quiz è completato:
<script id="quiz-result" type="text/x-handlebars-template">
{{#each rounds}}
{{round_end_result}}
{{/each}}
<div class="clear"></div>
</script>
Per ognuno dei turni, io uso un aiutante per determinare quale template usare il risultato di un round:
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");
}
});
Ecco un modello che descrive un corretto rotonda (diamo dicono che rendeva la # modello round-end-corretto):
<script id="round-end-correct" type="text/x-handlebars-template">
<div></div>
</script>
Ecco ciò che viene reso:
<div></div>
Non come HTML, ma come testo. Come faccio a renderlo in realtà il rendering HTML come HTML, piuttosto che il testo?
Questo metodo non funzionava per me quando si utilizza registerBoundHelper con 2 parametri. Ma "restituisci nuovo Handlebars.SafeString (risultato);" ha funzionato per me – Presse
è questo reattivo? – Sebastian