jquery - 检查backbonejs中集合是否为空

标签 jquery backbone.js underscore.js

我正在使用 requirejs 和backbonejs 开发一个单页应用程序,其中涉及从数据库表中获取记录并显示它们。我只需单击一个按钮即可完成此操作。我想我没有必要通过单击按钮重复从服务器获取模型。

我想要的是,一旦我获取了其上的集合模型,第二次单击按钮时不应再次获取。我对集合所做的任何修改/添加都经过服务器验证,因此我将能够保留最新列表,而无需在单击按钮时再次从服务器获取所有模型。

所以我需要在获取模型之前检查集合是否为空。像这样的东西:

if(window.invoices.isEmpty())
            {
                window.invoices.fetch({success:function(model){
                model.each(self.addOne,self);
                }});
            }
            else
            {
                window.invoices.each(self.addOne,self);
            }   

如果我在这里犯了根本性的错误,请澄清。

最佳答案

您可以使用length方法。

window.invoices.length == 0

<小时/>

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

关于jquery - 检查backbonejs中集合是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15061965/

相关文章:

javascript - Ajax 回调刷新 div

javascript - 动画滚动 100%(水平)?

javascript - "Obect has no method"从回调函数中调用其他函数时

javascript - 主干错误未捕获类型错误 : Cannot call method 'each' of undefined?

jquery - 使用 JQuery Validate 更改复选框轮廓颜色

javascript - Knockout js 从其他 View 模型收集数据

javascript - Backbone : my validation is not stopping white space being set to value

javascript - 主干集合保持模型变异的排序顺序

node.js - 按键下划线聚合哈希

javascript - 自然排序、对象数组、多列、反向等