我正在开发一个玩具backbone.js 应用程序,这是一个在库上执行CRUD 操作的库应用程序。这是书籍模型和图书馆藏书(书籍)
var Book = Backbone.Model.extend({
url: function() {
return '/api/books' + this.get('id');
}
});
var Library = Backbone.Collection.extend({
model : Book,
url : '/api/books'
});
这似乎很简单。接下来,我显然希望能够展示这本书,所以我有一个 BookView ......
var BookView = Backbone.View.extend({
tagName: 'li',
render: function() {
this.$el.html(this.model.get('author'));
$('#list-of-books').append(this.$el);
}
});
render 方法所做的只是将一个 li 附加到一个无序列表的末尾,该列表的 ID 为我的 html 中的书籍列表。
接下来,不出所料,如果我添加以下代码,我会得到一个包含一项的列表(id=4 的书的作者姓名)
var a_book = new Book();
a_book.url = '/api/books/4';
a_book.fetch({
success: function() {
var bookView = new BookView({ model: a_book });
bookView.render();
}
});
这是我不明白的地方。我添加了以下代码,没有任何反应:
var some_books = new Library();
some_books.fetch();
some_books.forEach(function(book) {
alert('why is this function not being run');
var view = new BookView({ model: book });
view.render();
});
出于某种原因,我什至无法运行该循环代码,我什至看不到屏幕上弹出警报。如果您了解此代码有什么问题以及如何使列表正确呈现,请告诉我。谢谢