【发布时间】:2015-02-16 20:23:31
【问题描述】:
我无法从 dstore 中删除所有项目。我正在尝试这个,它似乎应该可以工作,但最终失败了:
var TrackableMemory = declare([ Memory, Trackable ]);
var userMem = new TrackableMemory({
data: {the data...},
idProperty: '_id'
});
userMem.forEach(function (userObj) {
userMem.remove(userObj._id);
});
我在this fiddle 中提出了一个有效(或不有效)的示例。找不到最后一条记录时出现“cannot read property '_id' of undefined”错误,请参见控制台。
我有其他东西连接到这个商店实例,所以我真的不能通过重新定义 userMem 来重置所有东西。
我做错了什么?如何从 dstore 中删除所有项目?
【问题讨论】:
-
啊,看来这可能只是一个JS数组问题。例如,
var a = ['a', 'b', 'c', 'd']; a.forEach(function (letter) {var ind = a.indexOf(letter); a.splice(ind, 1);});。现在a是['b', 'd']。看起来这就是 dstore 使用其forEach函数和 Memory 的removeSync所做的事情?