Backbone.js:this.collection.models返回空数组

Backbone.js:this.collection.models返回空数组,backbone.js,Backbone.js,我使用Backbone.js显示API请求中的项目(站点)列表 我的问题被问了很多似乎,我已经尽可能多地考虑了其他问题的解决方案,但我仍然有一个问题 代码如下: (function($) { _.templateSettings = { interpolate: /\{\{(.+?)\}\}/g }; // models var Station = Backbone.Model.extend({ urlRoot: '../api/admin/s

我使用Backbone.js显示API请求中的项目(站点)列表

我的问题被问了很多似乎,我已经尽可能多地考虑了其他问题的解决方案,但我仍然有一个问题

代码如下:

(function($) {

    _.templateSettings = {
    interpolate: /\{\{(.+?)\}\}/g
    };
//  models
    var Station = Backbone.Model.extend({
        urlRoot: '../api/admin/stations/',
        idAttribute: "_id",
        defaults: {
            _id: null,
            country: 'ZA'
        }
    });

//  collections
    var StationList = Backbone.Collection.extend({
        model: Station,
        url: '../api/admin/stations/'
});

//  views
/*
 * Station View
 */
    var StationView = Backbone.View.extend({
        tagName: 'article',
        className:  'station-container',
        template: $("#stationListTemplate").html(),

        render: function() {
            this.$el.html(this.template(this.model.toJSON()));
            return this;
        }
    });

/*
 * Master View (Station List)
 */
    var StationListView = Backbone.View.extend({
        el: $("#stationListView"),

        initialize: function() {
            this.collection = new StationList();
            this.collection.fetch({
                success: this.render()
            });
        },
        render: function() {
            var that = this;
            console.log(this.collection.models); // RETURNS EMPTY ARRAY
            _.each(this.collection.models, function (item) {
// NOTHING HAPPENS AS THE ARRAY IS EMPTY
                that.renderStation(item);
            }, this);
        },
        renderStation: function (item) {
            var stationView = new StationView({
                model: item
            });
            console.log(stationView);
            this.$el.append(stationView.render().el);
        }
    });

//  load views
    var _stationList = new StationListView;
} (jQuery));
我已经在上面的CAPS中添加了我在哪里得到错误的注释。当我
console.log(that)
console.log(this.collection)
时,我可以看到该集合,但之后我无法立即访问其模型

我只是不知道我做错了什么,这让我无法访问模型。非常感谢您的帮助

我引用您的代码:

success: this.render()
我很确定你要么写信

success:this.render


因为在定义successcallback(并根据代码执行)时,集合还没有被提取。虽然可能还有其他错误,但这一个非常明显

没有办法!我最初尝试了成功:this.render,但出现了一个错误。那是几个小时前的事了。现在尝试了,我可以得到模型,但是我有一个错误。$el.html(this.template(this.model.toJSON());。我知道是什么原因造成的,我刚把它修好。现在“它只是工作”。谢谢,在我的世界里已经过了午夜,我已经在电脑上呆了6个小时想弄明白。我正要放弃并求助于jQuery:)当你遇到问题时,一定要休息一下,做些别的事情,然后回来重新审视这个问题,特别是当你已经被困了6个小时的时候。很高兴我能帮忙,那没用。我是Backbonejs的新手,我已经使用了很多框架和SDK,我想这并不难理解。从理论上讲,我能理解逻辑,但翻译它仍然很困难。也没有帮助,因为大部分的教程都有点不足。谢谢
success:function(){
 this.render()
}