Ehi ragazzi!Modelli di rendering all'interno di helper nel manubrio
Perché sembra che non ci siano risposte su questo: Passing variables through handlebars partial ancora, al momento sto lavorando a una piccola soluzione per ottenere questo lavoro. Quindi, l'idea è di registrare una funzione di supporto che restituisce un modello specifico con possibili valori. Un codice bit rende meglio capire.
Questo è come un avrei invoco il mio aiuto:
<div>
{{myHelper}}
</div>
questo helper è registrato con questo po 'di codice:
hbs.registerHelper(name, function (args) {
args = args || {};
var template = hbs.compile(fs.readFileSync(__dirname + '/' + file, 'utf8'));
return template(args);
});
ho messo questo snippiet in un ciclo di registrare aiutanti diversi a una volta. Questo significa 'nome' e 'file' è dato.
Ok ora sono in grado di fare qualcosa del genere:
// 'values' could be something like this:
var values = { headline: 'HEADLINE' }
<div>
{{myHelper values}}
</div>
All'interno di un aiuto Ora posso verificare se è dato un certo valore:
// myHelper template
<div>
{{#if headline}}
<h1>{{headline}}</h1>
{{/if}}
<p>Lorem ipsum</p>
</div>
Questa piccola soluzione funziona per me ma c'è un problema Registrando un helper come spiegato sopra, viene restituita una stringa di escape HTML semplice. Pertanto, l'invocazione di un helper non genera uno snippet HTML reso. Emette l'HTML come stringa di escape.
Qualcuno di voi ha un'idea di come posso rendere il mio snippet di codice restituire l'HTML come HTML?
/Pascal
Sì! Per me va bene! Grazie mille amico! – PascalPrecht
Se ha funzionato, contrassegnare la risposta di conseguenza – brafales
Nel caso qualcuno si imbattesse in questo .... Il metodo 'SafeString' deve essere accessibile tramite' hbs.handlebars' e non direttamente tramite 'hbs' ... questo è per il nodo. js users :) – Maroshii