_.each和Collection.each错误

时间:2013-02-12 23:59:05

标签: backbone.js

我正在使用Todos example进行backbone.js,但是当我运行save时,toggleAllComplete函数没有遍历集合。但是,当我改为警告标题时,它会遍历整个集合。

toggleAllComplete: function () {  
    var done = this.allCheckbox.checked;  
    Todos.each(function (todo) {  
        /* this doesn't iterate over the collection */  
        // todo.save({'done': done});  
        /* this does */      
        alert(todo.get('title'));  
    });  
}

为什么?

我也尝试使用_.each(Todos.models, function(todo) {,但同样的问题仍然存在。 当我在chrome中使用开发人员工具时,我看到我有一个Uncaught Type Error:在backbone-localstorage.js中将此循环结构转换为JSON

this.localStorage().setItem(this.name+"-"+model.id, JSON.stringify(model));

1 个答案:

答案 0 :(得分:0)

如果存在错误保存,则可能会阻止每个模型进行扫描。当你做警报时,没有错误,所以每个人都可以完成它的工作。

您可以尝试在save方法中引入一些回调,看看是否可以帮助您进行调试。

todo.save({'done': done}, {
  success: function() { console.log(["success", arguments]); } 
  error: function() { console.log(["error", arguments]); }
});