Ich bekomme 2 Vorlagen: eine für ein Formular und eine für eine Zeile für das Ergebnis. So ist meine Sichtweise. Das Formular wird angezeigt, aber wenn ich eine Zeile habe, bekomme ich nur eine statische Vorlage dieser Zeile, ich meine, die <% = key %>
funktioniert nicht und das Formular verschwinden.Verwenden von jQuery.load zum Anzeigen einer Vorlage in einer anderen Vorlage
APP.FromFront = Backbone.View.extend({
el: $("#content"),
events: {
"click #addLink" : "addLink",
"click .deleteLink" : "deleteLink"
},
template: _.template($('#content').html()),
initialize: function() {
this.bookmarks = new APP.BookmarksCollection();
this.render();
},
render: function() {
this.$el.html(this.$el.load("../../templates/form_template.html"));
this.bookmarks.each(function(bookmark) {
var bookJSON = bookmark.toJSON();
**//############ this is where it's doesn't work**
var temp=_.template(this.$el.load("../../templates/links_template.html"));
$("#links").append(temp(bookJSON));
},this);
},
})
Warum haben Sie eine unbenutzte 'Vorlage: _.template ($ ('# content'). Html()),'? Warum versuchen Sie, eine externe Datei zu laden, anstatt sie zu verwenden? Verstehst du, wie ['load'] (http://api.jquery.com/load/) funktioniert? Nach Code wie "this. $ El.html (this. $ El.load (url))" zu urteilen, denke ich nicht. Ist dir klar, dass unser Code immer wieder die gleiche Vorlage holt? Obwohl der Browser es möglicherweise zwischenspeichert, ist es keine gute Übung. ['load'] (http://api.jquery.com/load/) ist asynchron. Bitte lesen Sie zuerst die Dokumentation. –
Danke für die Antwort. Ich wurde die Vorlage "Vorlage" verwendet, wenn meine Vorlage auf der Seite index.html war. Es ist in diesem Code nicht verwendet. Ich möchte es nicht wirklich laden, aber benutze es. Ich weiß, wie es geht, wenn es in der index.html aber nicht in einer anderen Datei ist. – BoltMaud