如何删除收藏集中的所有模型(保留在本地存储中)?
这些模型是从本地存储中获取的-我希望在客户端和本地存储中都销毁这些模型。
// 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
对此的任何帮助将不胜感激!
我找到了解决方案:
_.invoke(tasks.toArray(), 'destroy');
显然,使用.each破坏模型是一个不好的做法,因为内部迭代会由于不断删除模型而变得混乱。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句