Heim >Web-Frontend >js-Tutorial >Warum erhalte ich in meiner Unterstrichvorlage die Fehlermeldung „Variable nicht definiert'?

Warum erhalte ich in meiner Unterstrichvorlage die Fehlermeldung „Variable nicht definiert'?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-19 00:21:02974Durchsuche

Why am I getting a Variable Not Defined Error in my Underscore Template?

Variable nicht definierter Fehler in der Unterstrich-Vorlage

Bei der Verwendung der Unterstrich-Vorlage in einer Backbone.js-Ansicht ist ein Fehler aufgetreten. Das Problem ergibt sich aus der korrekten Verwendung der Vorlagenkompilierung in modernen Versionen von Underscore.

In älteren Versionen von Underscore konnten Sie einen einstufigen Prozess zum Parsen und Ausfüllen einer Vorlage verwenden:

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

In Underscore 1.7.0 und höher wird jedoch das zweite Argument von _.template für Vorlagenoptionen verwendet, was einen zweistufigen Prozess erfordert:

  1. Kompilieren Sie die Vorlage:
var tmpl = _.template(template_string);
  1. Führen Sie die kompilierte Funktion mit Daten aus:
var html = tmpl(data);

Oder einzeilig:

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

In Ihrem speziellen Fall In diesem Fall wäre die korrigierte Backbone.js-Ansichtsrendermethode:

var V = Backbone.View.extend({
  el:'body',
  render: function () {
    var data = { lat: -27, lon: 153 };
    var tmpl = _.template('<%= lat %> <%= lon %>');
    this.$el.html(tmpl(data));
    return this;
  }
});

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meiner Unterstrichvorlage die Fehlermeldung „Variable 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