backbone.js迭代集合
我已经建立了一个日志集合。api以JSON的形式返回结果。我看到了前面的一个主题,其中建议在集合上添加parse方法。这样做之后,当我执行代码时,我没有得到任何输出到控制台。尽管如此,我还是一个新手,因此任何见解和/或指导都将不胜感激。我对收藏的理解可能不正确backbone.js迭代集合,backbone.js,collections,Backbone.js,Collections,我已经建立了一个日志集合。api以JSON的形式返回结果。我看到了前面的一个主题,其中建议在集合上添加parse方法。这样做之后,当我执行代码时,我没有得到任何输出到控制台。尽管如此,我还是一个新手,因此任何见解和/或指导都将不胜感激。我对收藏的理解可能不正确 var Log = Backbone.Model.extend({}); var LogList = Backbone.Collection.extend({ model: Log, url: 'api/logs
var Log = Backbone.Model.extend({});
var LogList = Backbone.Collection.extend({
model: Log,
url: 'api/logs',
parse: function(response) {
return response.logs;
}
});
var LogListView = Backbone.View.extend({
el: $('#logs-list'),
initialize: function() {
this.collection = new LogList();
this.collection.fetch();
this.render();
},
render: function() {
this.collection.each(function(log) {
console.log('log item.', log);
});
}
});
$(document).ready(function(){
console.log('ready.');
new LogListView();
});
获取是异步的。重写代码以使用回调调用render:
var LogListView = Backbone.View.extend({
el: $('#logs-list'),
initialize: function() {
var self = this;
this.collection = new LogList();
this.collection.fetch().done(function(){
self.render();
});
},
render: function() {
this.collection.each(function(log) {
console.log('log item.', log);
});
}
});