Heim >Web-Frontend >js-Tutorial >Warum erhalte ich in meinem Backbone.js-Code die Fehlermeldung „Unterstrich-Vorlagenfehler: Variable nicht definiert'?
Unterstrich-Vorlagenfehler: „Variable nicht definiert“
Im bereitgestellten Beispiel für Backbone.js ist bei der Verwendung des Unterstrichs ein Fehler aufgetreten Vorlage. Die Fehlermeldung lautet „Variable nicht definiert“. Um das Problem zu verstehen und zu lösen, werfen wir einen Blick auf die Verwendung von Underscore-Vorlagen.
In älteren Versionen von Underscore (vor Version 1.7.0) wurde das zweite Argument der Funktion _.template zur Bereitstellung verwendet Daten für die Vorlage. Dies ermöglichte eine präzise Syntax, bei der die Vorlage und die Daten in einer einzigen Zeile angegeben werden konnten.
Ab der Underscore-Version 1.7.0 wurde das zweite Argument von _.template jedoch umgestaltet, um Vorlagenoptionen zu berücksichtigen. Dies bedeutet, dass die bisherige Methode zur direkten Angabe von Daten im zweiten Argument nicht mehr gültig ist.
Um das Problem zu beheben, ist es notwendig, die Underscore-Vorlage mit der Funktion _.template zu kompilieren und dann die resultierende Funktion auszuführen um die ausgefüllte Vorlage zu erhalten. Die korrekte Syntax lautet:
var tmpl = _.template(template_string); var html = tmpl(data);
Im Fall des bereitgestellten Backbone.js-Beispiels würde der folgende Code den Fehler beheben:
render: function () { var data = { lat: -27, lon: 153 }; var tmpl = _.template('<%= lat %> <%= lon %>'); this.$el.html(tmpl(data)); return this; }
Indem zuerst die Vorlage kompiliert und dann ausgeführt wird Wenn Sie es mit den angegebenen Daten vergleichen, wird der Fehler „Variable nicht definiert“ behoben, sodass die Vorlage den korrekten Inhalt rendern kann.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem Backbone.js-Code die Fehlermeldung „Unterstrich-Vorlagenfehler: Variable nicht definiert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!