检查backbonejs中的集合是否为空

时间:2013-02-25 07:24:50

标签: jquery backbone.js underscore.js

我正在开发一个带有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);
            }   

如果我在这里出现根本错误,请说清楚。

1 个答案:

答案 0 :(得分:6)

您可以使用length方法。

window.invoices.length == 0


但是我不确定你要对model.each(self.addOne, self)做什么。当您获取集合时,Backbone将根据返回的JSON创建模型并为您填充集合。