5

Beim Aktualisieren meiner Web App von Unterstrich 1.6 auf 1.7, erhalte ich den folgenden Fehler "Liste ist nicht definiert". Bei Verwendung von Underscore 1.6 funktioniert das perfekt. Irgendwelche Ideen?Vorlage Fehler Upgrade zu Unterstrich 1.7

//acquire the list template 
$.get('tpl/listTpl.html', function(templates) { 

//run underscore js on the list template and pass in the full collection of models 
var template = _.template(templates, {list:app.collections.list.models}); 

//load the underscore template into the DOM 
that.$el.html(template); 

});

+0

Was ist die genaue Fehlermeldung? Kommt es von der Vorlage oder dem JavaScript? Sind Sie sicher, dass 'app.collections.list.models' so eingerichtet ist, wie Sie es erwarten? –

Antwort

16

Vom 1.7.0 changelog:

Undersvorlagen nicht mehr ein anfängliches Datenobjekt übernehmen. _.template gibt immer eine Funktion zurück.

Sie müssen Ihren Code wie folgt ändern:

$.get('tpl/listTpl.html', function(templates) { 
    var template = _.template(templates); 
    var result = template({list:app.collections.list.models}); 
    that.$el.html(result); 
}); 
+0

Ich würde empfehlen, die Changelogs zu lesen, um alle anderen brechenden Änderungen zu erfassen. Underscore verwendet keine semantische Versionierung, daher gibt es zwischen den Versionen 1.6 und 1.7 wirklich bahnbrechende Änderungen, die jedoch nicht alle betreffen. –

+1

Danke Ishmael! Arbeitete einen Charme. Schätze wirklich deine Hilfe. –