2

我正在尝试执行以下操作:

App.Availablephone.all().forEach(function(phone, index) {
    phone.unloadRecord();
});

不幸的是,由于.all()是一个实时数组,所以这不起作用(数组在循环期间被修改,并且完全混淆了)。

如何从商店中卸载特定类型的所有记录?

4

2 回答 2

12

虽然选择的答案有效,但 ember-data 在商店中提供了一个 unloadAll 方法来完成这个确切的事情。

store.unloadAll('availablephone');

这适用于 1.0.0 beta 版本,源链接如下 https://github.com/emberjs/data/blob/e4e3e3ec6b0289438a6b15c36407369fedf3eb40/packages/ember-data/lib/system/store.js#L717

于 2013-11-15T03:23:23.150 回答
4

您可以使用 toArray 方法获取现有记录的静态数组。

var array = App.Availablephone.all().toArray();

// Records to unload:
array.forEach(function(item) { 
  console.log('unloading record: ', item.toString()); 
  item.unloadRecord();
})
于 2013-08-13T01:29:44.020 回答