2016-03-31 19 views
1

Ich bin ein Flask Anwendung und habe einige clientseitige HTML-Rendering, die ich gerne mit Handlebars Vorlagen tun würde.Lenker Vorlage nicht im Kontext

Ich habe die folgende sehr einfache Vorlage Lenker:

<script id="source-template" type="text/x-handlebars-template"> 
    <div class="source-data"> 
     <span>{{last4}}</span> 
     <span>Exp : {{exp_month}}/{{exp_year}}</span> 
    </div> 
</script> 

Und ich bin mit wie folgt (genau wie im Tutorial Lenker):

var source = $('#source-template').html(); 
var template = Handlebars.compile(source); 
var context ={ 
    last4:'1234', 
    exp_month:'12', 
    exp_year:'2020' 
}; 
var html = template(context); 
console.log(html); 

aber es scheint nicht zu Fügen Sie die Daten aus meinem Kontext in die Vorlage ein. Der Konsolenausgang ist:

<div class="source-data"> 
    <span></span> 
    <span>Exp :/</span> 
</div> 

Fehle ich hier etwas? Ich bin mir nicht sicher, was schief gehen könnte, da ich im Wesentlichen die handlebars example kopiert habe.

+0

Es scheint, dass es ein Problem in der Installation ist. Könnten Sie Fehler in der Konsole sehen? – SaidbakR

+1

Auschecken [** diese Demo **] (http://jsbin.com/hukobulopi/edit?html,console,output) – SaidbakR

Antwort

2

Da ich Flask verwende, hatte ich das Skript in eine HTML-Datei geschrieben, die von Jinja gerendert wurde.

Da es keine Variablen last4 genannt waren, exp_month, or exp_year in den Kolben geleitet render_template() Funktion, sie ersetzte sie durch nichts, ohne Variablen, die die Lenker Vorlage zu verlassen.

Die Lösung hierfür war {% raw %} um das Skript zu verwenden, so dass Jinja diese als Variablen nicht interpretieren würde:

<script id="source-template" type="text/x-handlebars-template"> 
    {% raw %} 
    <div class="source-data"> 
     <span>{{last4}}</span> 
     <span>Exp : {{exp_month}}/{{exp_year}}</span> 
    </div> 
    {% endraw %} 
</script> 
+0

Das gleiche Problem wird in Django auftreten. Um zu verhindern, dass Django die Vorlagen analysiert, sollten die Lenker-Vorlagen in einen wortweisen Block gehüllt werden. {% Verbatim%} ... Lenker-Vorlagen gehen hier ... {% endverbatim%} – jastr

Verwandte Themen