Heim >Web-Frontend >js-Tutorial >Warum erhalte ich in Backbone.js die Fehlermeldung „Unterstrich-Vorlagenvariable nicht definiert'?

Warum erhalte ich in Backbone.js die Fehlermeldung „Unterstrich-Vorlagenvariable nicht definiert'?

Linda Hamilton
Linda HamiltonOriginal
2024-12-02 16:05:17376Durchsuche

Why Am I Getting an

Fehler „Unterstrich-Vorlagenvariable nicht definiert“ behoben

In Backbone.js ist die Verwendung von Unterstrich-Vorlagen zum dynamischen Generieren von HTML üblich, aber frühere Codeausschnitte können auf „Variable nicht definiert“ stoßen „Fehler. In diesem Artikel wird erläutert, warum dies auftritt und wie es behoben werden kann.

Das Problem

In der Vergangenheit konnten Unterstrichvorlagen in einem einzigen Schritt mithilfe der folgenden Syntax analysiert und ausgefüllt werden:

var html = _.template(template_string, data);

Die Änderung

Mit den Underscore-Versionen 1.7.0 und höher wurde jedoch das Konzept der Vorlagenoptionen eingeführt, die explizit angegeben werden müssen Wird als zweites Argument für _.template() bereitgestellt. Diese Optionen ermöglichen eine differenzierte Steuerung des Vorlagenverhaltens.

Die Lösung

Um Underscore-Vorlagen korrekt zu kompilieren und auszuführen, befolgen Sie diese Schritte:

  1. Kompilieren Sie die Vorlage mit _.template(template_string).
  2. Führen Sie die zurückgegebene Funktion mit den Daten aus, um sie auszufüllen Vorlage.

Dies kann dargestellt werden als:

var tmpl = _.template(template_string);
var html = tmpl(data);

Beispiel

Betrachten Sie den folgenden Codeausschnitt, der zeigt, wie Vorlagen mit Airbnb implementiert werden s Ferienwohnungen Datensatz:

var V = Backbone.View.extend({
  el: 'body',
  render: function() {
    var data = [
      {
        id: 1,
        lat: -27,
        lon: 153
      },
      {
        id: 2,
        lat: -33,
        lon: 151
      }
    ];
    var tmpl = _.template('<li><%= id %>. <%= lat %>, <%= lon %></li>');
    var html = data.map(tmpl).join('');
    this.$el.html(html);
    return this;
  }
});

var v = new V();

v.render();

Durch Befolgen der korrekten Vorlagensyntax können Sie Underscore-Vorlagen effektiv in Ihren Backbone.js-Anwendungen verwenden.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Backbone.js die Fehlermeldung „Unterstrich-Vorlagenvariable nicht definiert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn