我正在开发一个带有requirejs和backbonejs的单页应用程序,它涉及从db表中提取记录并显示它们。我点击一个按钮就可以了。我想我只需点击按钮就可以不必从服务器中取出模型。
我想要的是,一旦我获取它上面的集合模型,不应该在第二次单击按钮时再次获取。我在收集时做的任何修改/添加都是通过服务器验证的,所以我将能够保留最新的列表,而无需在该按钮点击时从服务器再次获取所有模型。
所以我需要在获取模型之前检查集合是否为空。像这样的东西:
if(window.invoices.isEmpty())
{
window.invoices.fetch({success:function(model){
model.each(self.addOne,self);
}});
}
else
{
window.invoices.each(self.addOne,self);
}
如果我在这里出现根本错误,请说清楚。
答案 0 :(得分:6)
您可以使用length
方法。
window.invoices.length == 0
但是我不确定你要对model.each(self.addOne, self)
做什么。当您获取集合时,Backbone将根据返回的JSON创建模型并为您填充集合。