如何从服务器预加载集合

时间:2013-10-08 21:06:20

标签: javascript backbone.js marionette backbone-collections

正在开发一个带有backbone.marionette和phonegap的混合应用程序。 我的集合没有及时准备好在视图中使用时遇到问题,因为它们仍然从服务器中获取。 我如何预加载我的馆藏,以便我的观点可以在应用程序启动时使用它们?

1 个答案:

答案 0 :(得分:1)

如果您只是使用视图在屏幕上呈现它们。您可以使用Marionette.CollectionView,它会在添加视图时将集合的模型添加到视图中。

var MyCollectionView = Marionette.CollectionView.extend({
   //add Item View and other required fields
});

//myView will listen to the myCollection's events such as add, remove etc and will update itself
var myView = new MyCollectionView({collection: myCollection});
myCollection.fetch();  //Will fetch the data from the server

//Render the view whenever you wish.
myView.render();

如果你真的想要预加载。您可以先获取并在成功回调时呈现视图。

collection.fetch({
   success : function(
      view.render();
   )
});