2011-12-16 41 views
1

我:this.model.toJSON()沒有返回集合的項目,爲什麼?

NotificationModel = App.BB.Model.extend({ 
    defaults : { 
     read : false 
    }, 
    urlRoot : '/notifications' 
}); 


NotificationCollection = App.BB.Collection.extend({ 
    model: NotificationModel, 
    url: '/notifications', 
    initialize : function() { 
     this.fetch(); 
    }, 
}); 

NotificationView = App.BB.View.extend({ 
    tagName : 'li', 
    render : function() { 
     console.log((this.model.toJSON()) 
    } 
}); 

此日誌沒有返回從服務器獲取的項目。但是當我做me.collection.length時,我確實得到了正確的長度。我究竟做錯了什麼?

感謝

+0

超過九百萬副本上AJAX是多麼的不同步 – Esailija 2011-12-16 18:28:35

回答

2

他人已經取得正在參照fetch方法是異步的,這些評論。所以this.fetch()立即返回。如果您在this.fetch後立即渲染視圖,則該集合仍然是空的。

你應該把這樣的事情在使您的收藏的觀點:

initialize: function(){ 
    this.collection.bind("reset", this.render); 
} 
相關問題