Das Rendern von templates innerhalb von Helfern im LENKER

Hey Jungs!

Da scheint es keine Antwort auf diese: Übergeben von Variablen über die LENKER teilweise noch, ich arbeite aktuell an einer kleinen workaround, um diese Arbeit zu bekommen. Also, die Idee ist zu registrieren eine Hilfsfunktion, die macht einer bestimmten Vorlage mit möglichen Werten. Ein bisschen code macht es besser zu verstehen.

So würde ich rufen meinen Helfer:

<div>
    {{myHelper}}
</div>

Diese Helfer registriert ist, mit diesem kleinen code:

hbs.registerHelper(name, function (args) {
    args = args || {};
    var template = hbs.compile(fs.readFileSync(__dirname + '/' + file, 'utf8'));
    return template(args);
});

Ich diese snippiet in eine Schleife zu registrieren, die verschiedenen Helfer auf einmal. Dies bedeutet 'name' und 'Datei'.

Okay jetzt bin ich in der Lage, so etwas zu tun:

//'values' could be something like this:

var values = { headline: 'HEADLINE' }

<div>
    {{myHelper values}}
</div>

Innerhalb einer Helfer kann ich jetzt testen, ob ein bestimmter Werte gegeben:

//myHelper template

<div>
    {{#if headline}}
    <h1>{{headline}}</h1>
    {{/if}}
    <p>Lorem ipsum</p>
</div>

Dieser kleine workaround funktioniert für mich, aber es gibt ein problem. Registrieren Sie einen Helfer, wie oben erklärt, gibt eine Reine HTML-escaped string. So, invocing ein Helfer nicht Ausgabe eines gerenderten HTML-snippet. Es gibt das HTML als escaped string.

Hat jemand von Euch eine Idee, wie ich kann machen mein code-snippet zurück den HTML-Code als HTML?

/Pascal

InformationsquelleAutor Pascal Precht | 2012-07-23

Schreibe einen Kommentar