Backbone Collection不会填充

时间:2012-02-12 17:28:12

标签: javascript backbone.js javascript-framework

我是一名初学者,并且在设置一个非常基本的虚拟示例工作时遇到了麻烦。我确定这是一个愚蠢的错误的结果,但我会很感激任何指导。

这是我的javascript:

var lr = lr || {};

lr.Event = Backbone.Model.extend({});

lr.Events = Backbone.Collection.extend({
  model: lr.Event,
  url: '/json/dummy.json'
});

lr.EventView = Backbone.View.extend({
  tagName: 'div',
  initialize: function() {
    _.bindAll(this, "render");
    this.collection = new lr.Events();
    this.collection.fetch();
    console.log(this.collection.toJSON());
    this.render();
  },
  render: function() {
  } 
});

lr.ev = new lr.EventView();

这是json / dummy.json:

[
  { "title": "Event1", "Location": "New York, NY" },
  { "title": "Event2", "Location": "Cleveland, OH" }
]

我希望这可以在console.log中使用JSON,但它取而代之的是console.log是一个空数组。我做错了什么?

1 个答案:

答案 0 :(得分:5)

您实际上需要等待检索数据,因为提取是异步的。 coffescript中的示例:

collection.fetch({
  success: (model, resp) ->   
     console.log();
})