7
otrzymuję błąd:Backbone - Obiekt renderowanie ma żadnej metody „zastosuj”
object render has no method apply for the below code.
Co może być przyczyną? Strona HTML nie zawiera żadnego kodu poza linkiem do javascript.
co powinienem zrobić, aby usunąć błąd?
(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);
dziękuję, działa świetnie! – user1305989
dlaczego powinienem zwrócić "to" w funkcji renderowania? co to robi ? – user1305989
Więc jest przenośny, więc możesz zrobić 'myView (someModel) .render(). El'. W głównym widoku może to nie być interesujące, ale staje się przydatne, gdy masz widok - powiedzmy - ContactItem. –