Heim >Web-Frontend >js-Tutorial >Warum erhalte ich die Meldung „Fehler beim Rendern der Unterstrichvorlage: Variable nicht definiert'?

Warum erhalte ich die Meldung „Fehler beim Rendern der Unterstrichvorlage: Variable nicht definiert'?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-23 10:05:17278Durchsuche

Why Am I Getting an

Fehler beim Rendern der Unterstrich-Vorlage: „Variable nicht definiert“

Problem:

Sie versuchen, einen Unterstrich zu verwenden Vorlage zum Rendern von HTML, es tritt jedoch der Fehler „Variable nicht definiert“ auf. Der von Ihnen verwendete Code ist:

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

var v = new V();

v.render();

Antwort:

Das Problem liegt darin, wie Unterstrichvorlagen gerendert werden. In früheren Versionen von Underscore konnten Sie eine Vorlage auf einmal analysieren und ausfüllen, in modernen Versionen hat sich dies jedoch geändert.

Um den Fehler zu beheben, müssen Sie Folgendes tun:

  1. Kompilieren Sie die Vorlage mit _.template.
  2. Führen Sie die zurückgegebene Funktion aus, um die ausgefüllten Daten zu erhalten Vorlage.

So sollte der Code aussehen:

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;
  }
});

var v = new V();

v.render();

Dieser aktualisierte Code rendert die Vorlage korrekt anhand der bereitgestellten Daten.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Meldung „Fehler beim Rendern der Unterstrichvorlage: 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