Backbone - Objekt Rendern hat keine Methode 'anwenden'
Bin ich immer die Fehlermeldung:
Objekt Rendern über keine Methode verfügt, gelten für die unter code.
Was kann der Grund sein ?
Die html-Seite nicht enthalten code, außer den link für die javascript.
was soll ich tun um den Fehler zu entfernen ?
(function($) {
window.Book = Backbone.Model.extend({});
window.Library = Backbone.Collection.extend({
model: Book
}); //end of Collection
window.LibraryView = Backbone.View.extend({
el: $('body'),
events: {
'click button#btn_add': 'btn_add'
},
initialize: function() {
$(this.el).append("View initialized");
_.bindAll(this, 'render', 'btn_add');
this.collections = new Library();
this.collections.bind('add', 'render', this);
this.startingDisplay();
},
startingDisplay: function() {
$(this.el).append("<input type='text' id='t1' /><button id='btn_add'>Add</button>");
},
btn_add: function() {
book = new Book({
title: "first"
});
alert("Name : " + book.get('title'));
this.collections.add(book);
},
render: function() {
alert("render called");
},
}); //end of LibraryView
libraryview = new LibraryView();
})(jQuery);
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie nicht die korrekte syntax zu binden
add
collection-Ereignis. Verwendung:Der zweite parameter erwartet einen Rückruf (ein-Funktion).
DEMO
myView(someModel).render().el
. In der Hauptansicht ist es vielleicht nicht so interessant, aber es wird nützlich sein, wenn Sie haben einen Blick für - sagen wir mal - ein ContactItem.