我正在尋找一個更好的解決方案了兩件事情:Backbone.js的:優雅的方式來檢查數據是否準備就緒,如果數據集是空
我怎麼能當數據被取出並準備好理解,我使用
BasicDealList.on("reset", function(){})
來了解數據是否從ajax中獲取並解析並準備好使用,但感覺很髒。如果空JSON來自讀取諸如
{}
,它仍然顯示BasicDealList.length爲1,而它應該是0從而我被迫檢查第一元件經由collection.length == 1 && jQuery.isEmptyObject(BasicDealList.toJSON()[0]
這是非常難看是空的。
下面是代碼:
BasicDeal = Backbone.Model.extend();
BasicDealCollection = Backbone.Collection.extend({
model: BasicDeal,
url: '/some/ajax/url/',
});
BasicDealList = new BasicDealCollection();
BasicDealList.on("reset", function(collection, response){
isEmpty = collection.length == 1 && jQuery.isEmptyObject(BasicDealList.toJSON()[0]);
if (isEmpty){
// render no deal found html
}
else{
// render list of deals
}
}
BasicDealList.fetch();
非常感謝您的詳細解釋! – Hellnar 2012-04-04 20:37:32