7
Tôi nhận được lỗi:Backbone - Object làm đã không có phương pháp 'áp dụng'
object render has no method apply for the below code.
gì có thể là lý do? Trang html không chứa bất kỳ mã nào ngoại trừ liên kết cho javascript.
Tôi nên làm gì để xóa lỗi?
(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);
thanks a lot, làm việc tuyệt vời! – user1305989
tại sao tôi nên trả về "this" trong hàm render? nó làm gì ? – user1305989
Vì vậy, nó là chainable, do đó bạn có thể làm 'myView (someModel) .render(). El'. Trong giao diện chính, nó có thể không thú vị nhưng nó trở nên tiện dụng khi bạn có một cái nhìn - giả sử - một ContactItem. –