Коллекция позвоночника не заполнится - PullRequest
1 голос
/ 12 февраля 2012

Я новичок в backbone.js, и у меня возникают проблемы при работе с очень простым фиктивным примером.Я уверен, что это результат глупой ошибки, но буду признателен за любые указания.

Вот мой 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 Ответ

5 голосов
/ 12 февраля 2012

На самом деле вам нужно дождаться получения данных, потому что выборка асинхронная. Пример в coffescript:

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