LENKER Übergeben Sie eine Zeichenfolge oder LENKER AST zu LENKER kompilieren
Ich weiß, dass das schon oft gefragt, ich habe mir die Antworten und nicht wissen, wohin ich gehe falsch.
Ich habe mir die docs auf Handlebarsjs und folgte ein tutorial und beide Male bin ich immer den gleichen Fehler.
<!DOCTYPE html>
<html>
<head>
<script src="handlebars-v1.3.0.js"></script>
<script src="jquery.min.js"></script>
<script src="test.js"></script>
</head>
<body>
<script id="header" type="text/x-handlebars-template">
div {{ headerTitle }} div
Today is {{weekDay}}
</script>
</body>
</html>
Und das ist mein Javascript
var theData = {headerTitle:"name", weekDay:"monday"}
var theTemplateScript = $("#header").html();
var theTemplate = Handlebars.compile(theTemplateScript);
$(document.body).append(theTemplate(theData));
Ich erhalte immer die folgende Fehlermeldung und ich bin nicht sicher, warum
Uncaught Error: You must pass a string or Handlebars AST to Handlebars.compile.
You passed undefined
Funktioniert bei mir, jsbin.com/jokulo/1 .
InformationsquelleAutor user3765218 | 2014-06-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausgeführt werden LENKER.compile() vor theTemplateScript ist die in das DOM geladen. Bewegen Sie Ihre test.js unten das template-Skript, und Sie sollten gut zu gehen.
InformationsquelleAutor Rob_vH
Verschieben der Scripte auf der Seite unten auch für mich gearbeitet.
InformationsquelleAutor Mark
Wie schon andere gesagt haben, das problem ist, dass Sie laufen
Handlebars.compile()
vor der TemplateScript ist die in das DOM geladen.Setzen Sie Ihre javascript-Aufrufe in
$(document).ready()
Sie stellen sicher, dass alle html zuerst geladen wird.InformationsquelleAutor Heidi
In meinem Fall bekam ich den gleichen Fehler, aber das Problem war ein Tippfehler im template-script in der html-Seite. Ich hatte 'prouct-Vorlagen' hätte 'Produkt-template':
Sobald ich die Tippfehler behoben der Fehler ging Weg und die Seite geladen ist ok.
InformationsquelleAutor striker77
Ein-bit-änderung ist erforderlich, in der JavaScript-Datei. Ich hatte das gleiche Problem. In meinem code, ich als "LENKER" von Ansichten (folgende Erklärung ist im Hinblick auf die Aussicht).
Gehören folgende Funktion initialisieren(init) der Ansicht :
Render-schreiben Sie den verbleibenden code :
Dem richtigen Weg ist, um precompile-Handler, Speichern in Datei, und weisen Sie
theTemplate
.InformationsquelleAutor rkkkk