【发布时间】:2014-11-30 05:12:46
【问题描述】:
如何删除我的集合中的所有模型(保留在本地存储中)?
模型是从本地存储中获取的 - 我希望模型在客户端和本地存储中都被销毁。
// Model + Collection
App.Models.Task = Backbone.Model.extend({
defaults: {
text: 'N/A'
}
});
App.Collections.Tasks = Backbone.Collection.extend({
model: App.Models.Task,
localStorage: new Backbone.LocalStorage("task")
});
// Create collection and fetch tasks
var tasks = new App.Collections.Tasks();
tasks.fetch(); // collection is now populated with 4 tasks
// Delete all models (both at client and local storage)
tasks.each(function(model) {
model.destroy();
})
通过运行此程序,我只销毁了一些模型 - 发生此错误并防止其余模型被销毁:
Uncaught TypeError: Cannot read property 'destroy' of undefined
非常感谢您对此的任何帮助!
【问题讨论】:
-
如果一个完整的代码问题是异步获取类型。要遍历集合,您必须等到 fetch 完成。
-
单击按钮时会启动迭代 - 这是在获取数据时完成的,所以我认为这不是问题
-
你能把
console.log(model)输出附加到一个循环中吗? -
console.log输出模型没有任何问题-请看下面的解决方案
标签: backbone.js backbone-local-storage