我知道,骨幹醫生說取不應該被用來填充在頁面加載集合,和我種找出原因:其實骨幹抓取頁面加載收集
var appCollection = Backbone.Collection.extend({
model:appModel,
url:'api/app',
initialize:function(){
this.fetch();
},
});
var homeView = Backbone.View.extend({
el:'#content',
initialize:function(){
this.collection = new appCollection(appModel)
this.render()
},
render: function() {
var that = this;
alert(1);
_.each(this.collection.models, function (item) {
that.renderApp(item);
}, this);
},
renderApp: function (item) {
var appview = new appView({
model: item
});
this.$el.append(appview.render().el);
}
})
var home = new homeView();
的homeview.render功能在獲取集合之前調用,所以當我刪除alert(1);我的應用程序不會呈現,我得到一些錯誤說「appname」(模板)是未定義的。
任何想法如何做到這一點?
獲取方法非常方便,我不介意等待幾秒鐘,實際上我打算顯示一個進度條,指示頁面正在初始化,因爲我有很多其他的東西要下載,所以有可能使用提取,當實際獲取集合時,代碼繼續運行?
您將在'successFn'內執行'collection.fetch({success:fn,error:fn},{wait:true})''**您將渲染**集合 – Deeptechtons 2012-08-07 08:42:46
將您的集合綁定到重置事件。 collection.on(「reset」,this.reset,this) – chchrist 2012-08-07 09:05:46