私は2つのことに対するより良い解決策を探しています:
データがフェッチされて準備ができているかどうかを理解するにはどうすればよいです
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();