Имейте в виду, что fetch
- это асинхронный вызов на сервер. Чтобы ваш код работал так, как вы ожидаете, создайте функцию success
, которую Backbone.Collection
может вызывать после обновления содержимого с сервера:
$('#fetch').click(function(){
coll.fetch({
succcess: function() {
console.log(coll.toJSON());
}
});
});
Очевидно, что вашему приложению не нужно действительно вызывать console.log
, поэтому в более реальном примере используется привязка событий магистрали, например:
coll.bind('refresh', someFunction);
coll.fetch();
При таком подходе магистраль вызовет someFunction
при обновлении коллекции. Это действительно полезно, особенно когда someFunction
является функцией render
представления, к которому вы хотите привязать свою коллекцию.
coll.bind('refresh', yourView.render);
coll.fetch();