Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
backbone.js迭代集合_Backbone.js_Collections - Fatal编程技术网

backbone.js迭代集合

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

我已经建立了一个日志集合。api以JSON的形式返回结果。我看到了前面的一个主题,其中建议在集合上添加parse方法。这样做之后,当我执行代码时,我没有得到任何输出到控制台。尽管如此,我还是一个新手,因此任何见解和/或指导都将不胜感激。我对收藏的理解可能不正确

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);
    });
}
});