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
Freigeben: 2024-12-02 16:05:17
Original
441 Leute haben es durchsucht

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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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();
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage