我已经扩展了此stackoverflow answer中给出的程序,以便拥有一次删除所有记录的程序。但是,删除仅在批处理中发生,并且不会一次删除所有内容。
以下是我在此JSBin中使用的功能的片段。
deleteAllOrg: function(){
this.get('store').findAll('org').then(function(record){
record.forEach(function(rec) {
console.log("Deleting ", rec.get('id'));
rec.deleteRecord();
rec.save();
});
record.save();
});
}
知道如何修改程序,以便一次删除所有记录?
我也尝试过model.destroy()和model.invoke('deleteRecords'),但它们不起作用。
非常感谢任何帮助。谢谢你的帮助!
答案 0 :(得分:16)
在deleteRecord()
内拨打forEach
将打破循环。您可以通过将删除代码包装在Ember.run.once
函数中来修复它:
this.get('store').findAll('org').then(function(record){
record.content.forEach(function(rec) {
Ember.run.once(this, function() {
rec.deleteRecord();
rec.save();
});
}, this);
});
请参阅this jsBin。